如何在Java中使用Linux获得总磁盘空间?

问题描述:

我能够获得可用磁盘空间。我将如何获得总磁盘空间?如何在Java中使用Linux获得总磁盘空间?

我的代码是:

import java.io.IOException; 

import org.apache.commons.io.FileSystemUtils; 

public class DiskSpace { 
    public static void main(String[] args) { 
     try { 

      //calculate free disk space 
      double freeDiskSpace = FileSystemUtils.freeSpaceKb(args[0]); 
      System.out.println(args[0]); 

      //convert the number into gigabyte 
      double freeDiskSpaceGB = freeDiskSpace/1024/1024; 

      System.out.println("Free Disk Space (GB):" + freeDiskSpaceGB); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

FileSystemUtils没有对磁盘的总空间的方法???

尝试

System.out.println(new File("/").getTotalSpace()/1024/1024/1024); //in GB 
+0

尼尔默尔我怎么会得到特定驱动器的磁盘空间? – user1237231 2012-02-28 07:14:33

+0

表示文件夹像“根” – user1237231 2012-02-28 07:14:42

+0

使用'新的文件(“/根”)' – 2012-02-28 07:39:57

如果您使用的Java6的希望您的回复提前

感谢File类会做:

public long getTotalSpace() 
public long getFreeSpace() 
public long getUsableSpace() 
+0

感谢它帮我很多,我使用的版本6 :) – user1237231 2012-02-28 06:35:30

+0

欢迎来到StackOverflow。通常我们感谢人们通过投票或接受他们的答案,如果他们是有启发性的。 – 2012-02-28 06:37:14

+0

@ amir我如何初始化文件的总空间?正如我在例子中看到的,它使用像这样的文件file = new File(“C:”);所以我将它初始化为File file = new File(“/ root”);并将其除以1024或1024/1024两次以得到gb结果,但它给我7作为输出,而根文件夹的原始总磁盘空间为1.1GB? – user1237231 2012-02-28 06:46:55