java获取文件创建时间
来源:互联网 发布:vb是什么意思啊 编辑:程序博客网 时间:2024/05/18 03:42
方案一:
private static Date getCreateTime(String fullFileName){ String str = null; try { Process p = Runtime.getRuntime().exec("cmd /C dir \""+fullFileName+"\" /tc"); InputStream is = p.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); int i = 0; while ((str = br.readLine()) != null) { i++; if (i == 6) { SimpleDateFormat sdf = new SimpleDateFormat(osDatetimeFormat); Date d = sdf.parse(str.substring(0, 17)); return d; } } } catch (Exception e) { log.error(str+","+fullFileName+","+e.getMessage(), e); } Calendar cal = Calendar.getInstance(); cal.set(1970, 0, 1, 0, 0, 0); return cal.getTime(); }
本方案调用dos命令来获取文件的创建时间,是网上大多数人采用的方案,但是该方案存在性能问题。在本人的实际应用中存获取10万个文件的创建时间,花费1个小时。
方案二:
private static Date getCreateTime2(String fullFileName){ Path path=Paths.get(fullFileName); BasicFileAttributeView basicview=Files.getFileAttributeView(path, BasicFileAttributeView.class,LinkOption.NOFOLLOW_LINKS ); BasicFileAttributes attr; try { attr = basicview.readAttributes(); Date createDate = new Date(attr.creationTime().toMillis()); return createDate; } catch (Exception e) { e.printStackTrace(); } Calendar cal = Calendar.getInstance(); cal.set(1970, 0, 1, 0, 0, 0); return cal.getTime(); }该方案经过测试获取10万个文件的创建时间花费的时间为秒级。推荐使用。但该方案中的BasicFileAttributeView类只存java7以上版本。
阅读全文
0 0
- Java 获取文件创建时间
- java获取文件创建时间
- java获取文件创建时间
- Java中如何获取文件创建时间
- java获取文件创建和修改时间
- Java 获取文件创建时间2
- 获取文件创建时间
- 直接由Java获取文件的创建时间
- 直接由Java获取文件的创建时间
- php获取文件创建时间/修改时间
- php获取文件创建时间、修改时间
- java获取文件的创建时间、修改时间和访问时间(含优化)
- Java 通过 JNA (Java Native Access) 获取、设置 Windows 操作系统的文件创建时间、文件修改时间、文件访问时间
- 获取文件创建时间、最后修改时间、访问时间
- php获取文件创建时间、修改时间、访问时间
- C# 获取文件的修改时间、访问时间、创建时间
- php获取文件创建时间、修改时间、访问时间
- C# 获取文件的修改时间、访问时间、创建时间
- There is no getter for property named 'id' in 'clas
- 自定义VIew
- C和指针第十一章的编程习题
- JQuery之工具类函数
- idea 快捷键
- java获取文件创建时间
- 单调队列优化dp
- javascript在线速查手册
- Covering
- 如何写爬虫
- 数据库视频-第一章
- 拥塞控制算法之Verus (2015 Sigcomm)
- 应用缓存获取和清理功能实现失败
- 最小费用最大流 模板