java.io.File获取磁盘空间信息

package fengke.filedemo;

import java.io.File;
/**
 * 获取磁盘信息
 * @author 锋客
 *了解
 */

public class FileBasic {
 /**

  * 1.listRoots()     获取所有分区

  * 2.getTotalSpace() 获取分区的总空间

  * 3.getFreeSpace()      获取分区的剩余空间

  * 4.getUsableSpace() 获取分区的已用空间

  * 5.listFiles()     获取目录的文件和子目录

  * */
 public static void main(String[] args) {

  // 1.获得所有分区--------静态方法listRoots();

  File[] disks = File.listRoots();

  long freeSpace = 0;

  long totalSpace = 0;

  long usableSpace = 0;

  System.out.println("本计算机的分区信息如下:");

  for (int i = 0; i < disks.length; i++) {

   File disk = disks[i];

   // 2.用isDirectory()判断是否为分区(有可能是设备文件)

   if (disk.isDirectory()) {

    // 3.用getTotalSpace()获得分区的总空间(单位:字节)

    totalSpace = disk.getTotalSpace() / (1024 * 1024 * 1024);

    // 4.用getFreeSpace()获得分区的剩余空间(单位:字节)

    freeSpace = disk.getFreeSpace() / (1024 * 1024 * 1024);

    // 5.用getUsableSpace()获得分区的已用空间(单位:字节)

    // usableSpace = getUsableSpace()/(1024*1024*1024);

    usableSpace = totalSpace - freeSpace;

    System.out.println(disk.getAbsolutePath() + "\t总空间:" + totalSpace + "GB\t剩余空间:"

    + freeSpace + "GB\t已用空间:" + usableSpace + "GB");

   }

  }

  System.out.println("\nd盘下的目录为:");

  File path = new File("d:\\");

  // 6.用listFiles()获得子目录和文件

  File[] dirs = path.listFiles();

  for (int i = 0; i < dirs.length; i++) {

   File dir = dirs[i];

   if (dir.isDirectory()) {

    System.out.println(dir.getName());

   }

  }

 }

}

posted on 2015-10-28 00:13  锋客person  阅读(1580)  评论(0编辑  收藏  举报