8

我已经阅读了文档中的定义并在互联网上进行了一些搜索,但我仍然不清楚。班级里getUsableSpace()和班里有什么区别?getUnallocatedSpace()FileStore

4

3 回答 3

4

来自FileStore 类文档

getUnallocatedSpace() 返回文件存储中未分配的字节数。

getUsableSpace() 返回文件存储中此 Java 虚拟机可用的字节数。

因此,未分配的空间可能比可用空间多。

您可以使用以下代码片段对其进行测试

import java.io.IOException;
import java.nio.file.FileStore;
import java.nio.file.FileSystems;

public class TestFileStore {
    public static void main(String[] args) throws IOException {
        for (FileStore fileStore : FileSystems.getDefault().getFileStores()) {
            System.out.println(fileStore.name());
            System.out.println("Unallocated space: " + fileStore.getUnallocatedSpace());
            System.out.println("Unused space: " + fileStore.getUsableSpace());
            System.out.println("************************************");
        }
    }
}

这是我的输出的摘录

************************************
tmpfs
Unallocated space: 206356480
Unused space: 206356480
************************************
/dev/sda6
Unallocated space: 1089933312
Unused space: 790126592
************************************
于 2015-07-15T15:52:37.073 回答
1

通过查看文档,我假设它getUsableSpace面向当前的 java vm,同时getUnallocatedSpace指的是文件存储上的所有未分配空间。

于 2013-04-30T14:43:58.823 回答
1

getUsableSpace:返回文件存储上这个Java虚拟机可用的字节数。在文件存储上。

getUnallocatedSpace:返回文件存储中未分配的字节数。

请注意,由于写入权限和其他操作系统限制,此 JVM 可用的字节数可能少于未分配空间。

于 2019-03-28T02:33:40.300 回答