-
[NIO.2]User-Defined File AttributesJAVA/NIO2 2013. 12. 30. 14:39728x90
만약 너의 파일 시스템에서 너에게 충분한 파일 속성을 제공 하지 않을 경우, 너는 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
728x90'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