2013-07-05 3 views
5

android에서 파일의 생성 날짜를 얻는 방법. 내가 file.lastModified()에 대해 알고 있지만, 정말 당신이 파일의 속성에서 OS Windows에서 볼 수있는 생성 날짜가 필요합니다.android에있는 파일의 생성 일

누군가이 작업의 해결책을 알고 있다면이 메시지 아래에 적어주십시오. 감사합니다.

답변

4

모든 운영 체제에서 만든 날짜는 지원되지 않습니다. 그래서 Java는 파일의 생성 날짜를 가져 오는 메소드가 없습니다. 나는 최근에도이 문제에 부딪쳤다.

내가 수행 한 작업은 파일에 대한 부록으로 타임 스탬프를 추가하는 것이 었습니다.

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

나중에 파일을 찾으면 첨부 파일을 추출하고 날짜로 다시 변환하여 생성 날짜를 찾을 수 있습니다. 당신은 안드로이드에서 스크립트를 실행하기위한 설명 here

stat <filepath> 

같은 bash는 명령 또는 스크립트를 실행을 통해 생성 날짜를 얻을 수 있습니다 :

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

나는 그것이 필요한 몇 가지 중 하나가 될 수있다, 내 질문의 해결책을 찾기 :

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가 생성 시간을 지원하지 않는다고 인정했다. –

관련 문제