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());
}
}
}
}