为什么 Java 显示不正确的 lastModifiedTime?

问题描述

我试图从一些 Java 文件获取 lastModifiedTime。我使用了以下代码

File fPath = new File(path + folders + "\\" + pathname);
Path filePath = fPath.toPath();
BasicFileAttributes attr = Files.readAttributes(filePath,BasicFileAttributes.class);
long lastModified = attr.lastModifiedTime().toMillis();

我将此时间(以毫秒为单位)保存到 MysqL 数据库中。但是在下一次运行中,它向我显示了一些不同的时间(不是针对所有文件,而是针对其他文件)。但该文件没有被任何人触及,Windows 始终显示正确的上次修改时间。

这个问题是已知的还是有更好的方法文件获取上次修改时间?

以下是输出示例:

Before: 1478165910000 BeforeDate: Thu Nov 03 10:38:30 CET 2016  After: 1602842507000 AfterDate: Fri Oct 16 12:01:47 CEST 2020   F0EIFORM.MPF    LInes:6977 
Before: 1476960192000 BeforeDate: Thu Oct 20 12:43:12 CEST 2016 After: 1602851747000 AfterDate: Fri Oct 16 14:35:47 CEST 2020   F1EIFORM.MPF    LInes:8319 
Before: 1478012330000 BeforeDate: Tue Nov 01 15:58:50 CET 2016  After: 1604060201000 AfterDate: Fri Oct 30 13:16:41 CET 2020    F2EIFORM.MPF    LInes:4362 
Before: 1476961406000 BeforeDate: Thu Oct 20 13:03:26 CEST 2016 After: 1602843325000 AfterDate: Fri Oct 16 12:15:25 CEST 2020   FREIFORM.MPF    LInes:1632 
Before: 1476452069000 BeforeDate: Fri Oct 14 15:34:29 CEST 2016 After: 1480938424000 AfterDate: Mon Dec 05 12:47:04 CET 2016    ParaMETE.MPF    LInes:72 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)