2010-05-25 252 views
4

是否有跨平臺的方式來確定在Java中的主機操作系統的最大文件大小?Java最大文件大小

+0

最大文件大小通常是文件系統的功能,而不是操作系統。大多數操作系統可以使用64位來表示文件長度/偏移量,因此原則上可以支持高達16 Exabytes的文件。 – mdma 2010-05-25 15:30:51

回答

4

不,最大文件大小取決於文件系統。 (你可以看到一個比較here)。 您可以使用平臺特定的方式(例如,在Linux上掛載)來確定文件系統類型。

1

最大的文件是比自由空間量,您可以通過

long FileSystemUtils.freeSpaceKb(String path) 

得到阿帕奇Commons IO

在JDK 6,你可以使用File.getFreeSpace()肯定是沒有大到找免費空間包含文件的分區。

+1

這是不真實的。有(傳統)文件系統無法創建與整個磁盤一樣大的文件。例如,FAT32的文件大小限制爲4GB。 NTFS(以及大多數其他64位文件系統)反過來具有16EB的理論極限,但實際極限也小得多,即2TB。現在磁盤/磁盤陣列很容易。 – BalusC 2010-05-25 15:31:22

+0

當然可以。我的錯。改寫開頭段落。 – mdma 2010-05-25 15:34:00

+0

甚至可能在壓縮文件系統時創建大於可用空間的文件... – 2010-10-04 20:21:56