2013-08-07 7 views
1

Я скопировал файл на свое устройство Android. Когда я проверяю, что это последняя измененная дата с file.lastModified(), она возвращает дату создания файла, который только что появился. Я хочу исходную дату, когда файл был последним изменен и не скопирован. Я вижу эту дату в проводнике Windows с тегом Date modified. File.lastModified() совпадает с созданным тегом даты файла. Если бы я мог получить последнюю измененную дату, я могу обновить файл с другим файлом с сервера после его обновления, просто проверив дату. Но с созданной датой это невозможно.Получение последней измененной даты файла не последней созданной даты в Java

+0

Я не знаком с причудами Android; вы получаете другой результат от java.nio.file.Files.getLastModifiedTime()? –

+0

Это java.io? файл, на который я ссылаюсь, - это файл на моей SD-карте, созданный с использованием File file = new File (Environment.getExternalStorageDirectory(), "test.xml"). Я не могу использовать метод, который вы упомянули. – user2049132

+0

Немного смущен - это ваша программа, которая вызывает файл .lastModified() работает на устройстве Andrioid? Кроме того, он проверяет lastModified() файла на устройстве? Когда вы говорите, что проводник Windows показывает дату, измененную для файла правильно, тогда мы говорим о файле, лежащем на сервере? –

ответ

2

я получил Дата создания документа с использованием апачский TIKA в Java

Вот мой 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 

th at - дата и время создания файла.

+0

Я не мог найти способ сделать работу apache tika. Я добавил файл jar apache tika в библиотеку классов java classpath. Что еще я должен делать – user2049132

+0

Я работаю в ubuntu с eclipse, поэтому добавьте файл tika jar в путь сборки java. –

+0

Мне нужно что-то делать с maven? – user2049132

 Смежные вопросы

  • Нет связанных вопросов^_^