本程序基于《Java核心技术》文件操作示例程序修改而来。
核心代码如下:
long milliSecond = f.lastModified(); //获取文件修改时间戳的毫秒数(从1970年1月1日零点开始经过的毫秒数)
Date date = new Date();
date.setTime(milliSecond); //使用毫秒数设置日期
String pattern = "yyyy年MM月dd日 HH时mm分ss秒SSS毫秒"; //设置时间格式
System.out.println("文件最后修改时间:" + new SimpleDateFormat(pattern).format(date)); //格式化日期
完整代码如下:
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class FileAttributeTest{
public static void main(String[] args){
//创建目录
File d=new File("c:/temp2");
if(!d.exists())
{
d.mkdirs(); //mkdir 创建单级目录 mkdirs 连续创建多级目录
}
System.out.println("Is d directory? " + d.isDirectory());
//创建文件
File f=new File("C:/temp2/abc.txt");
if(!f.exists())
{
try
{
f.createNewFile(); //创建abc.txt
}
catch(IOException e){ //可能会因为权限不足或磁盘已满报错
e.printStackTrace();
}
}
//输出文件相关属性
System.out.println("Is f file? " + f.isFile());
System.out.println("Name: "+f.getName());
System.out.println("Parent: "+f.getParent());
System.out.println("Path: "+f.getPath());
System.out.println("Size: "+f.length()+" bytes");
long milliSecond = f.lastModified(); //获取文件修改时间戳的毫秒数(从1970年1月1日零点开始经过的毫秒数)
Date date = new Date();
date.setTime(milliSecond); //使用毫秒数设置日期
String pattern = "yyyy年MM月dd日 HH时mm分ss秒SSS毫秒"; //设置时间格式
System.out.println("文件最后修改时间:" + new SimpleDateFormat(pattern).format(date)); //格式化日期
//遍历d目录下所有的文件信息
System.out.println("list files in d directory");
File[] fs = d.listFiles(); //列出d目录下所有的子文件,不包括子目录下的文件
for(File f1:fs)
{
System.out.println(f1.getPath());
}
//f.delete(); //删除此文件
//d.delete(); //删除目录
}
}
运行结果:
Is d directory? true Is f file? true Name: abc.txt Parent: C:\temp2 Path: C:\temp2\abc.txt Size: 0 bytes 文件最后修改时间:2020年02月20日 17时30分39秒528毫秒 list files in d directory c:\temp2\abc.txt |