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

时间:2010-09-23 02:49:20

标签: .net file file-io fileinfo

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

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

到目前为止我已经

  • 1.5ms FileInfo.Length
  • .5ms FileStream()。Length

4 个答案:

答案 0 :(得分:2)

long size = File.OpenRead(path).Length;

答案 1 :(得分:2)

来自Adi_aks答案

public static long GetFileLength(string path)
{
    using (var fileStream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read))
    {
        return fileStream.Length;
    }
}

答案 2 :(得分:1)

你可以调用FindFirstFile或GetFileAttributesEx API调用,但这似乎是FileInfo类已经为你做的许多额外工作。否则我想知道Scott是这样的:你为什么不想使用FileInfo?

答案 3 :(得分:0)

为什么不使用FileInfo.Length

如果你真的想要,你可以调用/调用Win32 API:CreateFile,GetFileSizeEx和CloseHandle。