2013-07-05 14 views
5

Jak uzyskać datę utworzenia pliku w systemie Android. Wiem o file.lastModified(), ale naprawdę potrzebuję daty utworzenia, którą można zobaczyć w systemie operacyjnym Windows w Właściwości pliku.Data utworzenia pliku w Androidzie

Jeśli ktoś zna rozwiązanie tego zadania, proszę napisać to pod tą wiadomością. Dzięki!

Odpowiedz

4

Daty tworzenia nie są obsługiwane przez każdy system operacyjny. Właśnie dlatego Java nie ma metody uzyskania daty utworzenia pliku. Niedawno też natknąłem się na ten problem.

Po dodaniu znacznika czasu jako załącznik do pliku.

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

Kiedy później szukać pliku, będziesz w stanie wyodrębnić załącznik i przekształcić ją z powrotem do daty, aby znaleźć to data utworzenia.

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

Właściwie, potrzebuję daty utworzenia dla zabezpieczenia przed kopiowaniem pliku, więc to rozwiązanie nie odpowiada mnie. –

-1

znaleźć rozwiązanie na moje pytanie, może ktoś potrzebować to: można uzyskać daty utworzenia poprzez wykonanie polecenia bash lub skrypt jak opisano here

stat <filepath> 

Za wykonanie skryptu z Androidem:

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

W udostępnionym blogu autor przyznał w komentarzach, że 'Creation Time' był literówką, a Linux/Unix nie wspiera czasu tworzenia. –