更新:这个问题不会出现在我测试过的 Android 设备上。它返回良好的值。非常感谢有关此事的任何指示。
我无法从 Mac 台式计算机获取正确的可用空闲空间值。我正在使用 Unity3D C#,并使用以下代码:
DriveInfo[] drives = DriveInfo.GetDrives();
foreach(DriveInfo drive in drives)
{
if (drive.IsReady)
{
Debug.Log(drive.Name);
Debug.Log(drive.AvailableFreeSpace);
Debug.Log(drive.TotalFreeSpace);
Debug.Log(drive.TotalSize);
}
}
我的结果有点奇怪。我只得到一个驱动器:我得到的名称是“/”,并且值是错误的。 availableFreeSpace 返回的值高于 TotalSize,这是没有意义的。另外,DriveType 为 Unknown,驱动器格式为 unixfs(如果有帮助的话)。
不知道我是否遗漏了 Mac 计算机上文件结构的一些明显内容?
编辑:我有一个 500go 的 SATA HDD,分为两个分区。不是应该给我2个驱动器吗?
EDIT2:我的 Monodevelop 版本是 4.0.1,所以我认为这与几年前在版本 2.10.0 或类似版本上报告的错误无关。
我究竟做错了什么?
发布到另一个论坛,显然这是一个 Mono/Unity 错误。最新版本的 Unity 使用旧的 Mono(编译器,而不是 MonoDevelop(文本编辑器)):
http://unity3d.com/unity/faq#section-445 http://unity3d.com/unity/faq#section-445
返回错误值的错误在 Mono (2.10) 的更高版本中得到了修复,另一个有关 DriveInfo 的错误也在 Mono 版本 3.0 中得到了修复:
http://www.mono-project.com/Release_Notes_Mono_2.10 http://www.mono-project.com/Release_Notes_Mono_2.10
http://www.mono-project.com/Release_Notes_Mono_3.0 http://www.mono-project.com/Release_Notes_Mono_3.0
因此,除了寻找另一种方法来获取 Mac 上的可用磁盘空间之外,几乎没有什么可做的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)