Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Java查找剩余的磁盘空间?_Java_Diskspace - Fatal编程技术网

如何使用Java查找剩余的磁盘空间?

如何使用Java查找剩余的磁盘空间?,java,diskspace,Java,Diskspace,如何使用Java查找剩余的磁盘空间?查看文件类。这是1.6中的新特性之一 这些新方法还包括: 公共长getTotalSpace 公共长期自由空间 公共长getUsableSpace 如果您仍在使用1.5,则可以使用库及其使用CommonsIO和文件系统: e、 g 或内置在JDK中: Java1.7有一个稍微不同的API,可以通过类、和方法查询可用空间 此API的优点是,当查询磁盘空间失败时,您可以返回有意义的异常。在使用java检查磁盘空间时,在java.io文件类中有以下方法 getTota

如何使用Java查找剩余的磁盘空间?

查看文件类。这是1.6中的新特性之一

这些新方法还包括:

公共长getTotalSpace 公共长期自由空间 公共长getUsableSpace
如果您仍在使用1.5,则可以使用库及其

使用CommonsIO和文件系统:

e、 g

或内置在JDK中:


Java1.7有一个稍微不同的API,可以通过类、和方法查询可用空间


此API的优点是,当查询磁盘空间失败时,您可以返回有意义的异常。

在使用java检查磁盘空间时,在java.io文件类中有以下方法

getTotalSpace 自由空间
这肯定会帮助你获得所需的信息。例如,您可以参考其中给出了使用这些方法的具体示例。

是否有任何其他内置函数可用于此目的,而无需创建新文件?它不会在磁盘上创建新文件,只是一个文件对象,如果这是您所担心的,FileSystemUtils只需在windows上执行df命令或使用DIR。非常糟糕。欢迎来到堆栈溢出!请注意,由于两个原因,这里不鼓励你自己的网站/产品的裸链接;首先,答案应该作为一个独立的答案发布,而不仅仅是指向外部站点的链接。第二,自我推广在这里往往不受欢迎,并且经常被标记为垃圾邮件,特别是在没有披露您正在链接到自己的网站/产品的情况下。非常重要的是,getUsableSpace不等于getFreeSpace。例如,在Linux文件系统上,分区通常有许多保留块。它们包含在getFreeSpace返回的值中,但不包含在getUsableSpace返回的值中。因此,如果您对必须在其中写入文件的空间感兴趣,请使用getUsableSpace-而不是getFreeSpace。看在上帝的份上,您在使用,而不是在使用。它的系统类。在Linux Debian上,FileSystems.getDefault.getRootDirectory调用只返回/目录。@pako在unix/Linux上只有一个根:/。windows上只有多个根,每个驱动器号对应一个根。
FileSystemUtils.freeSpaceKb("/"); 
new File("/").getFreeSpace();
NumberFormat nf = NumberFormat.getNumberInstance();
for (Path root : FileSystems.getDefault().getRootDirectories()) {

    System.out.print(root + ": ");
    try {
        FileStore store = Files.getFileStore(root);
        System.out.println("available=" + nf.format(store.getUsableSpace())
                            + ", total=" + nf.format(store.getTotalSpace()));
    } catch (IOException e) {
        System.out.println("error querying space: " + e.toString());
    }
}