我需要一种方法来获得一个文件的大小使用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等),磁盘上的大小可能不同
正如其他回答者所说,这将给出以字节为单位的大小,而不是磁盘上的大小。
其他回答
它返回文件内容的长度
如果你已经有一个文件路径作为输入,这是你需要的代码:
long length = new System.IO.FileInfo(path).Length;
FileInfo。Length将返回文件的长度,单位是字节(而不是磁盘上的大小),所以我认为这就是您正在寻找的。
FileInfo。长度可以解决这个问题(每个MSDN“以字节为单位设置当前文件的大小”)在MSDN上有一个关于常见I/O任务的不错的页面。
MSDN FileInfo。Length表示它是“当前文件的大小(以字节为单位)”。
我典型的谷歌搜索是:msdn FileInfo