2013-08-07 3 views
1

파일을 내 안드로이드 장치에 복사했습니다. 파일을 마지막으로 수정 한 날짜를 file.lastModified()로 확인하면 파일이 만들어진 날짜가 반환됩니다. 파일을 마지막으로 수정하고 복사하지 않은 원래 날짜를 원합니다. Windows 탐색기에서 Date라는 태그로 수정 한 날짜를 볼 수 있습니다. file.lastModified()는 파일의 Date created 태그와 일치합니다. 마지막 수정 날짜를 얻을 수 있으면 날짜를 확인하여 업데이트 된 후 서버에서 다른 파일로 파일을 업데이트 할 수 있습니다. 그러나 창조 된 날짜로 그것은 가능하지 않습니다. 이 코드의파일의 최종 수정 날짜가 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(); 
     } 

출력 : 나는 문서의 작성 날짜를 얻을 내 자바 코드는 여기에

자바

아파치 티카를 사용하여 문서의 작성 날짜

+0

저는 Android의 단점에 익숙하지 않습니다. java.nio.file.Files.getLastModifiedTime()과 다른 결과가 나옵니까? –

+0

java.io입니까? 내가 여기서 언급 한 파일은 내 sdcard 파일을 사용하여 만든 파일 = 새 파일 (Environment.getExternalStorageDirectory(), "test.xml") 내가 언급 한 방법을 사용할 수 없습니다 – user2049132

+0

조금 혼란스러워 - 파일을 호출하는 프로그램입니다 . Androoid 장치에서 실행중인 .lastModified()? 또한 장치에서 파일의 lastModified()를 확인하고 있습니까? Windows 탐색기에 파일에 대해 수정 된 날짜가 올바르게 표시되었다고 말하면 서버에있는 파일에 대해 이야기하고 있습니까? –

답변

2

이다있어 이다 :

creation date 2002-10-16T05:45:00Z 
last modify date 2013-07-01T05:12:00Z 

th at은 파일의 생성 날짜와 시간입니다.

+0

아파치 티카를 작동시키는 방법을 찾지 못했습니다. Java 클래스 패스 라이브러리에 아파치 tika의 jar 파일을 추가했다. 내가 뭘 해야할지 – user2049132

+0

우분투에서 일식과 함께 일하므로 java 빌드 경로에 tika jar 파일을 추가하십시오. –

+0

내가 Maven을 가지고 무엇인가해야합니까? – user2049132