代码之家  ›  专栏  ›  技术社区  ›  Simon Randy Burden

在.NET中获取文件长度的最快方法是什么?

  •  1
  • Simon Randy Burden  · 技术社区  · 14 年前

    在.NET中获取文件长度的最快方法是什么?

    注意:我正在通过网络共享访问文件。

    到目前为止我已经

    • 1.5毫秒文件信息长度
    • .5ms文件流()。长度
    4 回复  |  直到 7 年前
        1
  •  2
  •   Simon Randy Burden    14 年前

    源自ADI AKS答案

    public static long GetFileLength(string path)
    {
        using (var fileStream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read))
        {
            return fileStream.Length;
        }
    }
    
        2
  •  2
  •   Uwe Keim Chand    7 年前
    long size = File.OpenRead(path).Length;
    
        3
  •  1
  •   Daryl Hanson    14 年前

    你可以用pinvoke来查找第一个文件,或者 GetFileAttributesEx API调用,但这看起来像是fileinfo类已经为您做了很多额外的工作。否则我想知道的是,斯科特也是:你为什么不想使用fileinfo?

        4
  •  0
  •   Brian R. Bondy    14 年前

    为什么不只用 FileInfo.Length ?

    如果您真的想要,可以调用win32 API:createfile、getfilesizex和closehandle。