我已经阅读了文档中的定义,并在互联网上进行了一些搜索,但我仍然不清楚。 getUsableSpace()
课程中getUnallocatedSpace()
和FileStore
之间的区别是什么?
答案 0 :(得分:2)
来自FileStore class documentation
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
************************************
答案 1 :(得分:0)
从查看文档时,我会假设getUsableSpace
面向当前的java vm,而getUnallocatedSpace
指的是文件存储上的所有未分配空间。
答案 2 :(得分:0)
getUsableSpace
:
返回文件存储中此Java虚拟机可用的字节数。在文件存储中。
getUnallocatedSpace
:
返回文件存储中未分配的字节数。
请注意,出于写权限和其他操作系统限制,此JVM可用的字节可以小于未分配的空间。