我需要一种方法来获得一个文件的大小使用c#,而不是磁盘上的大小。这怎么可能呢?
目前我有这个循环
foreach (FileInfo file in downloadedMessageInfo.GetFiles())
{
//file.Length (will this work)
}
这将返回大小还是磁盘上的大小?
我需要一种方法来获得一个文件的大小使用c#,而不是磁盘上的大小。这怎么可能呢?
目前我有这个循环
foreach (FileInfo file in downloadedMessageInfo.GetFiles())
{
//file.Length (will this work)
}
这将返回大小还是磁盘上的大小?
如果您将文件移动到另一个文件系统(FAT16, NTFS, EXT3等),磁盘上的大小可能不同
正如其他回答者所说,这将给出以字节为单位的大小,而不是磁盘上的大小。
FileInfo类的Length属性返回文件的大小(不是磁盘上的大小)。如果你想要一个格式化的文件大小(例如15 KB)而不是一个长字节值,你可以使用CSharpLib,这是一个我为FileInfo类添加了更多功能的包。这里有一个例子:
using CSharpLib;
FileInfo info = new FileInfo("sample.txt");
Console.WriteLine(info.FormatBytes()); // Output: 15 MB