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

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

97283 次浏览

看一下 File 类 文件,这是1.6中的一个新特性。

这些新方法还包括:

  • public long getTotalSpace()
  • public long getFreeSpace()
  • public long getUsableSpace()

如果您仍然使用1.5,那么您可以使用 Apache Commons IO库及其 FileSystem 类

使用 CommonsIO 和 FilesystemUtils:

Https://commons.apache.org/proper/commons-io/javadocs/api-2.5/org/apache/commons/io/filesystemutils.html#freespacekb

例如:。

FileSystemUtils.freeSpaceKb("/");

或者内置在 JDK 中:

Http://java.sun.com/javase/6/docs/api/java/io/file.html#getfreespace

new File("/").getFreeSpace();

Java 1.7的 API 稍有不同,可以通过 文件存储类通过 GetTotalSpace ()GetUnallocatedSpace ()GetUsableSpace ()方法查询空闲空间。

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());
}
}

这个 API 的优点是,当查询磁盘空间失败时,您可以得到有意义的异常。

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

  • GetTotalSpace ()
  • GetFreeSpace ()

这肯定会帮助您获得所需的信息。例如,您可以参考 http://javatutorialhq.com/java/example-source-code/io/file/check-disk-space-java/,它提供了一个使用这些方法的具体例子。