ファイルサイズをきれいに整形してくれるAPI関数です。
// using System.IO;
// using System.Runtime.InteropServices;
[DllImport("shlwapi.dll", CharSet = CharSet.Auto)]
public static extern long StrFormatByteSize(long fileSize, [MarshalAs(UnmanagedType.LPTStr)] StringBuilder buffer, int bufferSize);
private string GetFileSizeString(long fileSize) {
StringBuilder builder= new StringBuilder(32);
StrFormatByteSize(fileSize, builder, 32);
return builder.ToString();
}
private void button1_Click(object sender, EventArgs e) {
string path= Application.StartupPath;
DirectoryInfo dir = new DirectoryInfo(path);
foreach (FileInfo file in dir.GetFiles()) {
string fileSize = GetFileSizeString(file.Length);
Console.WriteLine(file.Name + "=" + fileSize);
}
}
上記は、実行ファイルのディレクトリにあるファイルのサイズを調べるコード。
実行すると↓のようになります。
WindowsApplication1.exe=20.0 KB
WindowsApplication1.pdb=19.5 KB
WindowsApplication1.vshost.exe=5.50 KB
TB、GB、MB、KBで整形した文字列を返してくれるのでめちゃ便利。
0 件のコメント :
コメントを投稿