fileUsore类的getUsableSpace和getUnallocatedSpace之间有什么区别

时间:2013-04-30 14:28:30

标签: java nio

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

3 个答案:

答案 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可用的字节可以小于未分配的空间。