如何使用 C# 文件 API 检查磁盘上的逻辑和物理文件大小

Posted

技术标签:

【中文标题】如何使用 C# 文件 API 检查磁盘上的逻辑和物理文件大小【英文标题】:How to check logical and physical file size on disk using C# file API 【发布时间】:2011-05-11 06:09:14 【问题描述】:

如何使用 C# api 读取逻辑和物理文件大小。

【问题讨论】:

***.com/questions/3750590/c-get-file-size-on-disk 的可能重复项 @Christian - 不是重复的。这个问题询问的是逻辑大小和物理大小。 @Oded - 在链接中提出问题的人已经提供了一种查找逻辑大小的方法:var length = new System.IO.FileInfo(path).Length; @Christian - 答案确实如此,但问题并不相同。您也可以将答案链接为可以回答此问题的答案。 @Oded - 好吧,那是真的。但所有信息都可以在链接中找到,包括两种方法的完整代码。 【参考方案1】:
(new FileInfo(path).Length)

是实际大小。 至于磁盘上的大小,我认为没有API可以获取,但是您可以使用实际大小和集群大小来获取它。

这里有一些关于计算所需的信息: http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvcs/thread/85bf76ac-a254-41d4-a3d7-e7803c8d9bc3

【讨论】:

这并不总是正确的...例如,归档系统处理的某些文件在磁盘上的大小 = 单个集群(例如 4k),无论报告的大小如何 - 参见例如 Symantex Enterprise Vault

以上是关于如何使用 C# 文件 API 检查磁盘上的逻辑和物理文件大小的主要内容,如果未能解决你的问题,请参考以下文章

在msconfig里修改了处理器数和最大内存后电脑无法启动一直蓝屏

磁盘上的文件如何表示

如何使用 Yandex Disk c# Api

使用 Phonegap,我如何检查剩余的可用磁盘空间?

如何在 C# 中清空/刷新 Windows READ 磁盘缓存?

如何在 C# 中正确使用 WCF REST API 上的 Stream 将文件(图像/视频/等)上传到服务器?