2013-08-08 5 views
2

Windows에서 임의의 파일을 마우스 오른쪽 버튼으로 클릭하면 메뉴에서 "등록 정보"를 선택할 수 있습니다. 다가오는 대화 상자에서 "세부 정보"탭을 볼 수 있습니다. 거기에 많은 속성 (이름, 유형, 소유자, ...)을 찾을 수 있습니다! 내 질문 :파일을 읽는 방법 : 속성> 세부 정보> 콘텐츠> 페이지 예. 단어 문서의 경우

어떻게이 파일 속성을 읽을 수 있습니까?

나는 몇 년 전에 해봤지만 불가능했습니다. Java 1.7에서는 가능할 수도 있습니다. UserDefinedAttributeView 시도했지만 작동하지 않습니다.

다음을 시도했습니다. 세부 정보 탭에서 "파일"섹션과 "이름"속성을 볼 수 있습니다. D : "주"java.nio.file.NoSuchFileException 스레드에서

예외 : 나는 아래의 코드를 실행하지만 난 예외를 얻을 \ TEST.TXT : File.Name

그리고 text.txt가 존재;)

Path path = new File("D:\\test.txt").toPath();   
    UserDefinedFileAttributeView view = Files.getFileAttributeView(path, UserDefinedFileAttributeView.class); 
    String name = "File.Name"; 
    ByteBuffer buf = ByteBuffer.allocate(view.size(name));   
    view.read(name, buf); 
    buf.flip(); 
    String value = Charset.defaultCharset().decode(buf).toString(); 

많은 분들께 감사드립니다.

답변

0

비슷한 문제가있어서 새로운 속성 "사용자"를 호출하는 것으로 해결했습니다. 동일한 문자열 "user"로 가져 오는 것입니다. "파일"이라고 확신하지 않습니다. 어쨌든 "view.list(). toString()"명령으로 사용자가 정의한 속성 목록을 확인하십시오.

당신이 (경우에 아주 늦게 ..even ...) 도움

0

을 가지고 희망 나는 당신의 문제가 test.txt을 발견하지 않은, 그러나 File.Name을 찾는되지 않았 음을하지 않았다 생각합니다. 코드 스 니펫에 ....view.size(name) (name = "File.Name")이 있으므로 - File.Name 파일의 크기를 찾으려고 시도했지만 찾지 못했습니다. 어느 파일 이름이 File.Name이 될 의도가 없으므로 찾고자하는 속성의 이름으로 사용하려고합니다.

(즉, 나는 또한 모든 내가 JNA을 필요로 지금까지 발견했습니다 ... 자바 프로그램 내에서 세부 정보 탭에서 속성 값을 얻기 위해 일하는 해결책을 찾기 위해 노력하고있어했다.)