jdk1.6 能够获取磁盘大小,那么jkd1.5怎么获取磁盘空间大小?

解决方案 »

  1.   


    import java.io.File;public class SpaceChecker {
              public static void main(String[] args) {
                  File[] roots = File.listRoots();
                  for (File _file : roots) {
                      System.out.println(_file.getPath());
                  //   System.out.println(_file.getName());
                     System.out.println("Free space = " + _file.getFreeSpace());
                     System.out.println("Usable space = " + _file.getUsableSpace());
                     System.out.println("Total space = " + _file.getTotalSpace());
                     System.out.println();
                 }
                
                 
                 File win = new File("C:\\WINNT");
                 System.out.println(win.getPath());
                 System.out.println(win.getName());
                 System.out.println("Free space = " + win.getFreeSpace());
                 System.out.println("Usable space = " + win.getUsableSpace());
                 System.out.println("Total space = " + win.getTotalSpace());
                 System.out.println();
             }
         }以上代码也是会输出各个根目录的空闲空间,已用空间,总空间等.注意:
    1 getName取不到分区的卷标.能取到文件夹的名称.
    2对文件夹显示的空闲空间等,是所在分区的信息.
    3对于有磁盘配额的分区,空闲分区大小不一定等于总大小-已用大小. 
      

  2.   

    这样效率太低,最好用JNI写一个native函数调用操作系统的API。
      

  3.   

    同意楼上的,我们在1.5是没有现成的函数的。使用的是c的函数用jni调用的。
      

  4.   

    一楼的回答是jdk1.6的,我需要jdk1.5的代码