我可以使用Java程序获得特定的磁盘空间(如C :)吗?

Ven*_*kat 0 java

我使用Java中的SystemEnvironment类来获取系统信息.

因为我只能获得RAM大小,我无法获得特定的磁盘空间,如c:和D:

代码是,

com.sun.management.OperatingSystemMXBean的MXBean =(com.sun.management.OperatingSystemMXBean)ManagementFactory.getOperatingSystemMXBean(); System.out.println("Total RAM:"+ mxbean.getTotalSwapSpaceSize()/(1024*1024*1024)+""+"GB");

我可以在Java程序中获取此信息吗?

pol*_*nts 8

来自java.io.FileAPI:

  • long getTotalSpace():返回此抽象路径名指定的分区的大小.
  • long getUsableSpace():返回此抽象路径名指定的分区上此虚拟机可用的字节数.
  • long getFreeSpace():返回此抽象路径名指定的分区中未分配的字节数.

以下代码段显示了如何使用它的示例:

for (File root : File.listRoots()) {
    System.out.format("%s (%d bytes free)%n", root, root.getFreeSpace());
}
Run Code Online (Sandbox Code Playgroud)