-
[NIO.2]Managing Metadata (File and File Store Attributes)JAVA/NIO2 2013. 11. 25. 17:54728x90
메타 데이터 관리(파일과 파일 저장소 속성)
데이터에 대한 파일, 디렉토리, 링크, 만든 날짜, 마지막 수정한 날짜, 파일의 소유자, 그룹 소유자, 접근 권한 등의 메타 데이터에 대한 정보를 제공한다.
Files Class 에 포함된 하나의 파일에서 제공되는 속성 정보
Method
Comment
size(Path)
파일의 크기를 bytes 로 돌려준다.
isDirectory(Path, LinkOption)
파일이 디렉토리의 경우 true를 돌려준다.
isRegularFile(Path, LinkOption...)
정규 파일일 경우 true를 돌려 준다.
isSybloicLink(Path)
심볼릭 링크 파일일 경우 true를 돌려준다.
isHidden(Path)
숨겨진 파일일 경우 true를 돌려준다.
getLastModifiedTime(Path, LinkOption...)
setLastModifiedTime(Path, LinkOption...)
마지막 수정 시간을 변경하거나, 돌려준다.
getOwner(Path, LinkOption...)
setOwner(Path, LinkOption...)
작성자를 변경하거나, 돌려준다.
getPosixFilePermissions(Path, LinkOption...)
setPosixFilePermissions(Path, Set<PosixFilePermission>)
POSIX 파일 권한을 변경하거나, 돌려준다.
getAttribute(Path, String, LinkOptions...)
setAttribute(Path, String, Object, LinkOption...)
속성 값을 변경하거나, 돌려준다.
* 단일 속성을 가져올 경우 보통 [view-name:]atribute-name 형식을 사용한다.
여러 속성을 받아 오는 방법
Method
Comment
readAttributes(Path, String, LinkOption...)
String 에 속하는 속성을 읽어서 Map<String, Object> 형식으로 돌려준다.
readAttributes(Path, Class<A>, LinkOption...)
Class<A> 형식으로 속성을 읽어서 돌려준다.
NIO.2 에서는 Class<A> 로 6가지 View를 지원한다.
1. BasicFileAttributeView
기본적인 속성과 필수 요소를 제공한다.
2. DosFileAttributeView
기본 뷰를 확장한 DOS 속성의 네가지 표준 속성을 지원한다.
3. PosixFileAttributeView
기본 뷰를 확장한 POSIX표준을 지원 하는 파일 시스템의 속성을 지원한다.
이 속성은 소유자, 소유그룹과 아홉가지 접속 권한에 대하여 포함한다.
4. FileOwnerAttributeview
파일의 소유자에 대한 개념을 구현하여 모든 파일 시스템에 대해 지원 한다.
5. AclFileAttributeView
파일 접근 리스트에 대한 읽기와 수정을 지원한다.
Windows의 ACL 모델로, NFSv4 모델 역시 지원한다.
6. UserDefinedFileAttributeView
사용자 정의 메타데이터를 지원한다.
기본 BasicFileAttributeView는 모든 OS에서 지원 한며 OS 별로 지원 하는 View 가 다르다.
지원하는 View를 확인 하기 위해서는 아래와 같이 확인을 하면 된다.
FileSystem fs = FileSystem.getDefault(); Set<String> views = fs.supportedFileAttributeViews(); for (String view : views){ System.out.println(view); }
예를 들어 Win7의 경우 아래와 같은 결과를 나타 낸다.
acl
basic
owner
user
dos
참조 : http://docs.oracle.com/javase/tutorial/essential/io/fileAttr.html
728x90'JAVA > NIO2' 카테고리의 다른 글
[NIO.2]DOS File Attributes (0) 2013.12.16 [NIO.2]Basic File Attributes (0) 2013.12.10 [NIO.2]Moving a File or Directory (0) 2013.11.25 [NIO.2]Copying a File or Directory (0) 2013.11.25 [NIO.2]Deleting a File or Directory (0) 2013.11.25