381

ディスク上のサイズではなく、C# を使用してファイルのサイズを取得する方法が必要です。これはどのように可能ですか?

現在、私はこのループを持っています

foreach (FileInfo file in downloadedMessageInfo.GetFiles())
{
    //file.Length (will this work)
}

これはサイズまたはディスク上のサイズを返しますか?

4

7 に答える 7

498

入力としてファイル パスが既にある場合は、次のコードが必要です。

long length = new System.IO.FileInfo(path).Length;
于 2013-12-31T20:53:29.640 に答える
403

FileInfo.Lengthファイルの長さをバイト単位で返します(ディスク上のサイズではありません)ので、これが探しているものだと思います。

于 2009-09-04T18:34:14.720 に答える
43

FileInfo.Length(MSDN によると、「現在のファイルのサイズをバイト単位で取得します。」)一般的な I/O タスクに関する MSDNのすばらしいページがあります。

于 2009-09-04T18:34:34.907 に答える
12

MSDN FileInfo.Lengthは、「現在のファイルのサイズ (バイト単位)」であると述べています。

このようなものに対する私の典型的なGoogle検索は次のとおりです: msdn FileInfo

于 2009-09-04T18:35:21.007 に答える
8

FileInfo クラスの Length プロパティは、ファイルのサイズを返します (ディスク上のサイズではありません)。長いバイト値ではなく、フォーマットされたファイル サイズ (つまり 15 KB) が必要な場合は、CSharpLibを使用できます。これは、FileInfo クラスにより多くの機能を追加するために私が作成したパッケージです。次に例を示します。

using CSharpLib;
FileInfo info = new FileInfo("sample.txt");
Console.WriteLine(info.FormatBytes());  // Output: 15 MB
于 2020-06-07T22:48:33.400 に答える
5

ファイルの内容の長さを返します

于 2009-09-04T18:34:34.860 に答える
4

ファイルを別のファイルシステム (FAT16、NTFS、EXT3 など) に移動すると、ディスク上のサイズが異なる場合があります。

他の回答者が言ったように、これにより、ディスク上のサイズではなく、バイト単位のサイズが得られます。

于 2009-09-04T18:37:29.643 に答える