File类(java)
用java列出系统分区和C盘根目录
package com.limeteor.demo;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* File类
* @author limeteor
*
*/
public class FileDemo {
public static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
public static void main(String[] args) {
//获取当前文件系统的所有磁盘分区
File[] disks = File.listRoots();
System.out.println("系统磁盘分区情况:");
for (int i = 0; i < disks.length; i++) {
File disk = disks[i];
System.out.println(disk.getAbsolutePath()+"盘\t总空间:"
+disk.getTotalSpace()/1024/1024/1024+"G\t剩余空间"
+disk.getFreeSpace()/1024/1024/1024+"G");
}
//获取C盘根目录
File c = new File("C:");
if (!c.exists()) {
System.out.println("未发现C盘");
return;
}
System.out.println("C盘根目录结构:");
File[] files = c.listFiles();
for (int i = 0; i < files.length; i++) {
File file = files[i];
if (file.isDirectory()) {
System.out.println("[目录]"+file.getName());
}
if (file.isFile()) {
System.out.println("[文件]"+file.getName());
System.out.println("\t大小"+file.length()/1024+"K");
Date date = new Date(file.lastModified());
System.out.println("\t修改日期"+sdf.format(date)+"\t");
if (file.isHidden()) {
System.out.println("[隐藏]");
}
if (!file.canWrite()) {
System.out.println("[只读]");
}
System.out.println();
}
}
}
}
使用的知识点说明
1.File类在java.io包中,使用前需要引用此包
2.File类的listModified方法返回的是自1970年1月1日至今的毫秒数,需要先转换为Date类型再格式化输出。