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