java - Java中的文件修改日期

标签 java file compatibility

我将用 Java 创建的文件的修改日期设置为特定数字。当我在 Windows 上读出该值时,我得到了相同的值。但是,在 Linux (ubuntu) 上我得到了不同的值。 File.lastModified() 的值关闭了 9 小时,但当我查看文件属性时,我发现它仅关闭了 1 小时。我期望全面获得相同的值(value)。

我认为这是兼容和一致的是错误的吗? javadoc该方法的含义非常明确,没有提及潜在的不兼容性。

最佳答案

这几乎可以肯定是时区问题。 Java 方法使用/期望 GMT,操作系统将显示本地时间,这说明了那里的差异。现在真正的问题是:时间是如何存储在文件系统中的?

您使用的是什么文件系统?可能是 FAT32 - 它以本地时间存储时间戳,因此很难使它们在操作系统之间保持一致。我不确定到底哪里出了问题,但这可能是操作系统配置问题或 JVM 错误 - 您在 Linux 上使用的是哪个 JVM?

关于java - Java中的文件修改日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1227569/

相关文章:

java - 理解Java中泛型集合的问题

java - Linux 上的多个 Java webapps 总线程限制

java - scala REPL 在 Vista 上速度很慢

c++ - 如何使用行号读取文件行内容

c - 文件锁定 C 编程

javascript - 我应该在多大程度上依赖JS

java - 使用 if else 语句导致 0 的货币转换问题

C++ - 如何获取特定用户的桌面路径

excel - 导入兼容模式工作簿时遇到问题

cross-browser - 使 Polymer 3.0 元素向后兼容 IE11 和 Firefox 56?