我需要一种方法来使用C#获取文件的大小,而不是磁盘上的大小.这怎么可能?
目前我有这个循环
foreach (FileInfo file in downloadedMessageInfo.GetFiles())
{
//file.Length (will this work)
}
Run Code Online (Sandbox Code Playgroud)
这会返回磁盘上的大小或大小吗?
liv*_*ove 346
如果您已经将文件路径作为输入,那么这就是您需要的代码:
long length = new System.IO.FileInfo(path).Length;
Run Code Online (Sandbox Code Playgroud)
Mar*_*uła 294
FileInfo.Length
将返回文件的长度,以字节为单位(不是磁盘上的大小),所以这就是你要找的东西,我想.
FileInfo 类的 Length 属性返回文件的大小(而不是磁盘上的大小)。如果您想要格式化的文件大小(即 15 KB)而不是长字节值,您可以使用CSharpLib,我制作的一个包为 FileInfo 类添加了更多功能。下面是一个例子:
using CSharpLib;
FileInfo info = new FileInfo("sample.txt");
Console.WriteLine(info.FormatBytes()); // Output: 15 MB
Run Code Online (Sandbox Code Playgroud)