我在我的應用程序中使用來自Java的File類的file.GetFreeSpace()
,以確保在傳輸文件之前有足夠的空間。路徑是一個unc路徑,目前擁有約5TB的可用空間。但是,當上面的代碼運行時,返回的空間量僅爲713998336字節(〜680MB)。File.getFreeSpace()不返回正確的值
我將應用程序映射爲使用一個不同的unc路徑,它具有100MB和1GB以上的空閒空間(我正在添加/刪除要測試的文件),並且應用程序報告了正確的可用空間量。
更新:通過很多調試,我發現了這個問題。 與此類似的unc路徑:\\domain6\test\Scratch_Folder\
其中Scratch_Folder是一個DFS命名空間,具有〜5TB的可用空間。但是,當執行file.getFreeSpace
時,它將返回僅有670MB的\\domain6\test\
的可用空間。爲什麼會發生?
'getTotalSpace'是否正常工作(http://download.oracle.com/javase/6/docs/api/java/io/File.html#getTotalSpace%28%29)? – 2011-06-08 15:52:24
看起來你正在遭受32位溢出。例如5 TB - 42億約0.7 TB。 – 2011-06-08 15:53:09
@Vlad - getTotalSpace僅報告「16096837632」(〜15GB),其中總大小實際上是5.69TB – Saggio 2011-06-08 16:33:01