2013-07-05 214 views
5

如何在android中獲取文件的創建日期。我知道關於file.lastModified(),但我真的需要創建日期,你可以在Windows的文件屬性中看到。android中文件的創建日期

如果有人知道這個任務的解決方案,請寫下這條消息。 謝謝!

回答

4

每個操作系統都不支持創建日期。這就是爲什麼Java沒有獲取文件創建日期的方法。我最近也遇到了這個問題。

我所做的是追加時間戳作爲文件的附錄。

File f = new File("myFile-" + System.currentTimeMillis()); 

當你以後找你的文件,你就可以提取附件,並將其轉換回一個日期找到它的創建日期。

String fileName = f.getName(); 
String[] split = fileName.split("-"); 
long timeStamp = 0; 

try { 
    timeStamp = Long.parseLong(split[1]); 
} catch(NumberFormatException nfe) { 
    nfe.printStackTrace(); 
} 

System.out.println("Creation date for file " + f + " is " + new Date(timeStamp)); 
+0

實際上,我需要創建日期來保護文件,所以這個解決方案不適合我。 –

-1

我發現我的問題的解決方案,可能會有人需要它: 您可以通過執行bash命令或腳本等記述here

stat <filepath> 

針對Android執行腳本得到的創建日期:

p = Runtime.getRuntime().exec("stat " + /mnt/sdcard01/somefile); 
p.waitFor(); 

BufferedReader reader = 
    new BufferedReader(new InputStreamReader(
p.getInputStream())); 
String line = reader.readLine(); 
while (line != null) { 
line = reader.readLine(); 
} 
+1

在你共享的博客中,作者在評論中承認,「創建時間」是一個錯字,Linux/Unix不支持創建時間。 –