2013-08-07 136 views
1

我已將文件複製到我的Android設備。當我用file.lastModified()檢查它的最後修改日期時,它會返回剛纔創建的文件的日期。我希望文件上次修改時的原始日期不被複制。我可以在標籤Date修改的windows資源管理器中看到這個日期。file.lastModified()與文件的Date創建標籤匹配。如果我可以得到最後一次修改日期,我可以通過檢查日期更新文件,並通過服務器上的另一個文件進行更新。但創建日期是不可能的。獲取文件的最後修改日期而不是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

我得到了在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工作。我將apache tika的jar文件添加到java classpath庫中。我還應該做什麼 – user2049132

+0

我在ubuntu中使用eclipse工作,所以在java構建路徑中添加tika jar文件。 –

+0

我是否必須對maven做任何事情? – user2049132

相關問題