java - 获取文件的最后修改日期而不是 Java 中的最后创建日期

标签 java android file last-modified datecreated

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

最佳答案

我在 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

这是文件的创建日期和时间。

关于java - 获取文件的最后修改日期而不是 Java 中的最后创建日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18094492/

相关文章:

c++ - 获取 FILE * 句柄而不实际在磁盘上创建文件

python - 无法使用 os.walk() 找到文件

linux - 来自文件的 Zenity Bash 列表

java - 字符串不包含实体,但显示它,并且表示在替换时不会改变

java - ManyToOne 关系背面的项目列表

java - Spring security 登录后如何跳转到另一个页面

android - 使用以下命令时,Android资源链接失败:buildFeatures {viewBinding = true}

java - 将 Action 传递给按钮

java - 在没有运行定位器的情况下启动 spring-data-gemfire

android - 我在哪里可以获得 MapView 的 "default"android 箭头图形?