フォルダのサイズを取得する
フォルダ(ディレクトリ)のサイズ(Byte)を取得
[方針] フォルダサイズを直接取得する関数は用意されていないので,フォルダ内部のファイルサイズを加算して求める.
フォルダ内に入れ子のフォルダがない場合
Hage(string Path) 呼び出し元
string Pathは求めたいフォルダのパス
long FilesSizeにフォルダ内のファイルサイズの合計
GetDirectorySize.cs
using System.Windows.Forms;//MessageBox用
using System.IO;
public static long GetDirectorySize(DirectoryInfo dirInfo) {
long DirectorySize = 0;
foreach (FileInfo fi in dirInfo.GetFiles())//フォルダ内の全ファイルを取得
DirectorySize += fi.Length;//フォルダ内の全ファイルのサイズを加算
return DirectorySize;
}
private void Hage(string Path) {
long FilesSize = GetDirectorySize(new DirectoryInfo(Path));
MessageBox.Show("The size of this folder is "+FilesSize.ToString()+" Byte.");
}
フォルダ内のサブフォルダすべてのサイズを取得したい場合
[方針] サブフォルダのサイズを再帰呼び出しで合算
long FolderSizeにフォルダサイズを格納
GetDirectorySize.cs
using System.Windows.Forms;//MessageBox用
using System.IO;
public static long GetDirectorySize(DirectoryInfo dirInfo) {
long DirectorySize = 0;
foreach (FileInfo fi in dirInfo.GetFiles())//フォルダ内の全ファイルを取得
DirectorySize += fi.Length;//フォルダ内の全ファイルのサイズを加算
foreach (DirectoryInfo di in dirInfo.GetDirectories())//サブフォルダを取得
DirectorySize += GetDirectorySize(di);//サブフォルダのサイズを合算
return DirectorySize;
}
private void Hage(string Path) {
long FolderSize = GetDirectorySize(new DirectoryInfo(Path));
MessageBox.Show("The size of this folder is "+FolderSize.ToString()+" Byte.");
}
Author And Source
この問題について(フォルダのサイズを取得する), 我々は、より多くの情報をここで見つけました https://qiita.com/MaruiMisato/items/5e5163c7ede9a4a5d23c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .