SimpleDateFormat + Calendar 类显示文件修改时间
博主的学习背景,是用java代码实现判别指定路径下指定文件名的文件是否存在。如果指定文件存在,读取并分别显示其修改时间和文件大小等属性。显示修改时间是,就需要自定义一个显示时间格式,此处就学习到了SimpleDateFormat类。
1 SimpleDateFormat 简介
SimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的具体类。SimpleDateFormat 允许以为日期-时间格式化选择任何用户指定的方式启动。 但是,希望用 DateFormat 中的 getTimeInstance(只显示时间)、 getDateInstance(只显示日期) 或 getDateTimeInstance(显示时间+日期) 创建一个日期-时间格式化程序。 每个类方法返回一个以缺省格式化方式初始化的日期/时间格式化程序。 可以根据需要用 applyPattern 方法修改格式化方式。
2 SimpleDateFormat 参数介绍
符号 | 含义 |
---|---|
G | 年代标志符 |
y | 年 |
M | 月 |
d | 日 |
h | 时 在上午或下午 (1~12) |
H | 时 在一天中 (0~23) |
m | 分 |
s | 秒 |
S | 毫秒 |
E | 星期 |
D | 一年中的第几天 |
F | 一月中第几个星期几 |
w | 一年中第几个星期 |
W | 一月中第几个星期 |
a | 上午 / 下午 标记符 |
k | 时 在一天中 (1~24) |
K | 时 在上午或下午 (0~11) |
z | 时区 |
举个例子如下,显示今天(2018年4月29日20:40)是 ”一年中的第 D 天 一年中第w个星期 一月中第W个星期 在一天中k时 z时区”);
SimpleDateFormat my=new SimpleDateFormat("一年中的第 D 天 一年中第w个星期 一月中第W个星期 在一天中k时 z时区"); //定义显示时间显示格式Date now=new Date(); //实例化Date()类,获取当前时间System.out.println(my.format(now)); //输出当前获得的时间
结果显示如下:
3 SimpleDateFormat、lastModified和 Calendar 显示文件修改的最后时间
通过File 类获取路径下的文件对象,并用其getName()、length()和lastModified() 等方法显示文件的属性信息。
File file = new File("word.txt"); //创建文件对象SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置时间显示方式Calendar cal = Calendar.getInstance(); //调用日历接口获取当前时间,定义一个Calendar对象......String name = file.getName(); //获取文件名称long length = file.length(); //获取文件长度long lastModified = file.lastModified(); //获取文件最后修改时间 System.out.println("文件名称:"+ name); //输出信息System.out.println("文件长度:"+length+"字节"); //默认以字节为单位 S System.out.println("文件最后修改时间:"+sdf.format(cal.getTime())); //输出文件的最后更改时间
显示结果如下:
博主文件放在项目文件夹下,文件可以自己指定目录,如File file = new File(“D:/doc/test.txt”),也可以直接放在项目文件夹下,如博主的word.txt 直接放在项目test的文件夹下,所以代码中不用具体指定位置,默认在项目文件下:
完整代码:
链接:https://pan.baidu.com/s/1qQjLIbixtAtcuxHr1GjMQg 密码:zxhc