ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [NIO.2]User-Defined File Attributes
    JAVA/NIO2 2013. 12. 30. 14:39

    만약 너의 파일 시스템에서 너에게 충분한 파일 속성을 제공 하지 않을 경우, 너는 UserDefinedAttributeView 을 사용하여, 너만의 파일 속성을 생성 할 수 있다.


    파일의 MIME 타입을 사용자 정의 속성으로 정의 하는 코드

    Path file = ...;

    UserDefinedFileAttributeView view = Files
        .getFileAttributeView(file, UserDefinedFileAttributeView.class);
    view.write("user.mimetype",
               Charset.defaultCharset().encode("text/html");
    


    파일의 MIME 타입을 읽는 코드

    Path file = ...;
    UserDefinedFileAttributeView view = Files
    .getFileAttributeView(file,UserDefinedFileAttributeView.class);
    String name = "user.mimetype";
    ByteBuffer buf = ByteBuffer.allocate(view.size(name));
    view.read(name, buf);
    buf.flip();
    String value = Charset.defaultCharset().decode(buf).toString();
    


    Xdd는 은 get, set and delete user-defined 속성에 대한 예제를 보여준다.


    주의 : 리눅스에서  속성 확장을 하여야 사용자 속성 정의가 동작을 한다. 만약에 사용자 정의 속성에 대한 접근을 시도 했을때 UnsupportedOperationException 같은 에러가 발생한다면 파일 시스템을 다시 올려야 할 것이다.

    ext3 파일 이스템에서는 다음 명령어를 이용하여 운영자 파티션을 다시 올려야 한다.

    (아래 명령어가 동작 하지 않을 경우 각 리눅스의 문서를 확인하라)

    $ sudo mount -o remount, user_xattr /


    만약 영구적으로 변경을 원할 경우, /etc/fstab 에 등록 하시오.


    출처 : http://docs.oracle.com/javase/tutorial/essential/io/fileAttr.html#user

    'JAVA > NIO2' 카테고리의 다른 글

    [NIO.2]SeekableByteChannel  (0) 2014.02.04
    [NIO.2]File Store Attributes  (0) 2013.12.30
    [NIO.2] POSIX FIle Permissions  (0) 2013.12.16
    [NIO.2]DOS File Attributes  (0) 2013.12.16
    [NIO.2]Basic File Attributes  (0) 2013.12.10
Designed by Tistory.