1

.net でファイルの長さを取得する最速の方法は何ですか?

注: ネットワーク共有経由でファイルにアクセスしています。

これまでのところ、

  • 1.5ms ファイル情報の長さ
  • .5ms FileStream().Length
4

4 に答える 4

3

Adi_aksの回答から派生

public static long GetFileLength(string path)
{
    using (var fileStream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read))
    {
        return fileStream.Length;
    }
}
于 2010-09-23T08:14:38.177 に答える
2
long size = File.OpenRead(path).Length;
于 2010-09-23T02:56:48.260 に答える
1

FindFirstFile またはGetFileAttributesEx API 呼び出しを PInvoke することもできますが、それは FileInfo クラスが既に行っている多くの余分な作業のように思えます。それ以外の場合は、Scott と同じことを考えています。なぜ FileInfo を使用したくないのですか?

于 2010-09-23T02:57:27.797 に答える
0

なぜ使用しないのFileInfo.Lengthですか?

必要に応じて、CreateFile、GetFileSizeEx、および CloseHandle の Win32 API を p/invoke できます。

于 2010-09-23T02:53:22.327 に答える