使用Java的硬盘总大小

时间:2018-03-06 04:35:41

标签: java

我正在尝试查找内置硬盘的总大小。 这段代码给了我C:drive的大小。

long diskSize= new File("/").getTotalSpace();

我使用此代码,但它也在网络上添加了驱动器的大小。

        long diskSize= 0;
        File[] drives = File.listRoots();
        if (drives != null && drives.length > 0) {
        for (File aDrive : drives) {
        diskSize=diskSize+(aDrive.getTotalSpace()/1000000000); //(1000000000)Converting to GB
        }
        }

1 个答案:

答案 0 :(得分:2)

您可以使用以下代码获取所有目录的总空间

       package haneef.code.check;

       import java.io.File;

       import java.util.ArrayList;

       import java.util.List;

       public class DirSpace

       {

            static Double val=1000000000.00;

            public static void main(String[] args) 

            {
                 File file=new File("\\");
                 List<Double> values=new ArrayList<Double>();
                 File[] list=file.listRoots();
                 for(File driver:list)
                 {
                      Double driveGB=driver.getTotalSpace()/val;
                      System.out.println("Driver "+driver+" Space - "+driveGB);
                      values.add(driveGB);
                      Double cDrive=values.get(0);
                      for(int i=1;i<values.size();i++)
                      {
                            Double totalSpace=cDrive+values.get(i);
                            System.out.println("Final --- Total space is "+totalSpace);
                      }
                 }

             }

        }

控制台输出 -

驱动程序C:\ Space - 107.583893504

司机D:\空间 - 212.381724672

决赛---总空间为319.965618176