java获取文件的创建时间、修改时间和访问时间(含优化)
来源:互联网 发布:淘宝一分钱大学生 编辑:程序博客网 时间:2024/05/21 21:45
BasicFileAttributes
Java为了满足跨平台需要,其File类仅提供lastModified(),即文件的最近一次修改时间。原因是Linux不记录文件的创建时间。但是为Windows平台开发的程序需要读取文件的创建时间怎么办?
依然是 stack overflow 上的回答
BasicFileAttributes bAttributes = null;try { bAttributes = Files.readAttributes(file.toPath(), BasicFileAttributes.class);} catch (IOException e) { e.printStackTrace();}String fileName = file.getName();// 修改时间String changeTime = bAttributes.lastModifiedTime().toString();// 修正格式和时区changeTime = fixStrDateFormat(changeTime);
系统中其实有些文件和文件夹没有创建时间,此时BasicFileAttributes 类会将修改时间返回。
加快时间处理
注意一点:我没有直接使用常规的SimpleDateFormat类来进行时间的格式化。
测试发现,使用SimpleDateFormat 速度 非常慢,而我完成数据库课程大作业时需要对一个硬盘的全部文件进行读取信息并插入数据库,在10000数量级的情况下,这种速度是难以接受的。
而通过直接获取lastModifiedTime().toString()的方式,我们可以快速得到一个形如“2017-05-12T18:37:45.461793Z”的字符串,使用subString简单处理即可得到“2017-05-12 18:37:45.45”格式的字符串。
然而 与Windows系统的属性信息对照发现,直接获取的时间并不正确,准确地说是提前了8个小时——对应东八区的北京时间,很明显这是格林尼治时间。
接下来就需要自己完成时间日期的转化了,过程比较基础,不再赘述。
阅读全文
3 0
- java获取文件的创建时间、修改时间和访问时间(含优化)
- C# 获取文件的修改时间、访问时间、创建时间
- C# 获取文件的修改时间、访问时间、创建时间
- C# 获取文件的修改时间、访问时间、创建时间
- 文件的大小、创建时间、修改时间和访问时间
- 获取文件的“创建”、“修改”、“访问”时间
- FILETIME使用,获取文件的创建时间,修改时间和访问时间
- 获取文件创建时间、最后修改时间、访问时间
- php获取文件创建时间、修改时间、访问时间
- php获取文件创建时间、修改时间、访问时间
- php获取文件创建时间,修改时间,访问时间
- java获取文件创建和修改时间
- Java 通过 JNA (Java Native Access) 获取、设置 Windows 操作系统的文件创建时间、文件修改时间、文件访问时间
- VC++ 获取文件属性创建时间、修改时间和访问时间
- java获得文件的创建和最后访问修改时间
- MFC中获取文件的属性(包括文件创建时间、修改时间、访问时间、文件大小等)
- 文件的创建时间 \修改时间 \访问时间
- PB 调用API获取文件的创建时间、访问时间、修改时间
- 最全“勒索病毒”的应对方案
- React Native Realm数据库存储
- 阿里巴巴Java开发手册- 编程规约-命名规约
- 设计模式六大原则
- datepicker的具体用法
- java获取文件的创建时间、修改时间和访问时间(含优化)
- jQuery autoComplete插件-实现自动匹配
- 查看日志文件组状态信息+切换日志文件组+手动切换日志文件组+清空日志文件组+
- 问题记录(持续更新)
- 快速掌握一个语言最常用的50%
- Linux基础知识(3)——文件及其权限
- git镜像仓库
- MPI编程--求cos(x)的定积分
- @Transaction