2013-07-05 9 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

я найти решение моего вопроса, может быть какой-то один это нужно: Вы можете получить дату создания с помощью выполнения команды Баша или сценария, как описанного here

stat <filepath> 

Для выполнения сценария от андроида:

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

В блоге, который вы поделились, автор признал в комментариях, что 'Creation Time' был опечаткой, а Linux/Unix не поддерживает время создания. –

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