C# - ファイルサイズを取得する

ファイルサイズを取得するには FileInfoクラス の Lengthプロパティ を使用します。

ファイルサイズを取得する方法

FileInfoクラス の コンストラクタ にファイル名を渡して インスタンスを生成し、Length プロパティで取得します。得られるサイズの単位は バイト(byte) です。
using System.IO;

FileInfo fileinfo = new FileInfo(ファイル名);

long ファイルサイズ(byte単位) = fileinfo.Length;

サンプルプログラム

次のサンプルコードはファイルサイズを取得し、表示します。
using System.IO;

// ファイル「size-10byte.txt」のサイズを調べる
var fileinfo = new FileInfo(@".\size-10byte.txt");

// ファイルサイズ取得
long fileSize = fileinfo.Length;

// 結果の表示
System.Console.WriteLine($"ファイルサイズ = {fileSize}bytes");
テストに使用したファイルのプロパティ
テストに使用したファイルのプロパティ
サンプルコードの実行結果
サンプルコードの実行結果

ファイルサイズ取得時の注意点

サンプルプログラム

次のサンプルコードは 10秒間Sleepしている間にファイルを更新し、 Refrashメソッド で最新のファイルサイズを取得しています。
using System.IO;

// ファイル「test.txt」のサイズを調べる
var fileinfo = new FileInfo(@".\test.txt");

// ファイルサイズ表示
System.Console.WriteLine($"ファイルサイズ = {fileinfo.Length}bytes");

// 10秒待つ
System.Console.WriteLine("10秒待つ");
System.Threading.Thread.Sleep(10000);

// 最新情報に更新
fileinfo.Refresh();

// ファイルサイズ表示
System.Console.WriteLine($"ファイルサイズ = {fileinfo.Length}bytes");
サンプルコードの実行結果
サンプルコードの実行結果

参考資料

検証環境