2012-02-28 172 views
4

我能夠獲得可用磁盤空間。我將如何獲得總磁盤空間?如何在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沒有對磁盤的總空間的方法???

回答

4

嘗試

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

6

如果您使用的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

相關問題