【问题标题】:Getting last modified date of a file not the last created date in Java获取文件的最后修改日期而不是 Java 中的最后创建日期
【发布时间】:2013-08-07 04:07:11
【问题描述】:

我已将文件复制到我的安卓设备。当我使用 file.lastModified() 检查它的最后修改日期时,它返回文件的创建日期,即现在。我想要上次修改文件而不是复制文件的原始日期。我可以在 Windows 资源管理器中看到这个日期,标签为 Date modified 。 file.lastModified() 与文件的创建日期标签匹配。如果我能得到最后一个修改日期,我可以通过检查日期来更新服务器上的另一个文件。但是创建日期是不可能的。

【问题讨论】:

  • 我不熟悉Android的怪癖;你从 java.nio.file.Files.getLastModifiedTime() 得到不同的结果吗?
  • 是java.io吗?我在这里指的文件是我的 sdcard 上使用 File file = new File(Environment.getExternalStorageDirectory(),"test.xml") 创建的文件我不能使用你提到的方法
  • 有点困惑 - 您调用 file.lastModified() 的程序是否在 Android 设备上运行?它还在检查设备上文件的 lastModified() 吗?当您说 Windows 资源管理器正确显示文件的修改日期时,我们是在谈论位于服务器上的文件吗?
  • 是的,它正在 Android 设备上运行,它正在检查设备上文件的 lastModified()。 Windows 资源管理器显示为设备中而不是服务器中的文件正确修改的日期。但是当我使用 file.lastmodified() 方法时,它返回创建的日期而不是我可以在 Windows 中看到的最后修改日期,这是原始修改日期
  • @user2049132 不,nio 是我的意思,但是 java.nio.file.* 不在 Java 6 中,只有 7。

标签: java android file last-modified datecreated


【解决方案1】:

我在 java 中使用 apache tika 获得了文档的创建日期

这是我的获取文档创建日期的java代码

public class tikaExample {

    public static void main(String[] args) throws SAXException, TikaException {
        InputStream is = null;

        try {
            is = new BufferedInputStream(new FileInputStream(new File("/home/rahul/Downloads/darknet5.doc")));

            Parser parser = new AutoDetectParser();
            BodyContentHandler handler = new BodyContentHandler();

            Metadata metadata = new Metadata();

            parser.parse(is, handler, metadata, new ParseContext());
            System.out.println("creation date "+metadata.get(Metadata.CREATION_DATE));
            System.out.println("last modify date "+metadata.get(Metadata.LAST_MODIFIED));           
        } catch (IOException e) {
            e.printStackTrace();
        }

并且此代码的​​输出是:

 creation date 2002-10-16T05:45:00Z
 last modify date 2013-07-01T05:12:00Z

即文件的创建日期和时间。

【讨论】:

  • 我找不到让 apache tika 工作的方法。我将 apache tika 的 jar 文件添加到 java 类路径库中。我还应该做什么
  • 我正在使用 Eclipse 在 ubuntu 中工作,所以在 java 构建路径中添加 tika jar 文件。
  • 我必须用 maven 做点什么吗?
  • could not find class org.apache.tika.parser.Autodetectparser 在运行时发生错误。 Eclipse 没有显示代码有任何问题,但这发生在运行时。
  • 你传递的是哪个文件?
猜你喜欢
  • 1970-01-01
  • 2011-05-20
  • 2019-02-26
  • 1970-01-01
  • 2010-09-17
  • 1970-01-01
  • 1970-01-01
  • 2010-09-13
相关资源
最近更新 更多