PosixFileAttributeView — POSIX 표준 계열을 구현하는 운영 체제의 파일 속성 뷰
PosixFileAttributeView — POSIX 표준 계열을 구현하는 운영 체제의 파일 속성 뷰
PosixFileAttributeView는 POSIX(Portable Operating System Interface) 표준 계열을 구현하는 운영 체제가 사용하는 파일 시스템의 파일과 일반적으로 연관되는 파일 속성의 뷰를 제공하는 파일 속성 뷰예요.
본문
public interface PosixFileAttributeView extends BasicFileAttributeView, FileOwnerAttributeView
POSIX 표준 계열을 구현하는 운영 체제가 사용하는 파일 시스템의 파일과 일반적으로 연관되는 파일 속성의 뷰를 제공하는 파일 속성 뷰예요. POSIX 표준 계열을 구현하는 운영 체제는 일반적으로 파일 소유자(owner), 그룹 소유자(group-owner), 관련 접근 권한(permissions)을 가진 파일 시스템을 사용해요. 이 파일 속성 뷰는 이러한 속성에 대한 읽기 및 쓰기 접근을 제공해요.
readAttributes 메서드로 파일의 속성을 읽어요. 파일 소유자는 접근 제어를 목적으로 파일 소유자의 정체성인 UserPrincipal로 표현돼요. 그룹 소유자(GroupPrincipal로 표현)는 그룹의 구성원에 대한 접근 권한을 결정하기 위해 관리 목적으로 만들어진 정체성인 그룹의 정체성이에요.
permissions 속성은 접근 권한의 집합이에요. 이 뷰는 PosixFilePermission 클래스가 정의하는 아홉 개의 권한 비트에 대한 접근을 제공해요. 이 아홉 개의 권한 비트는 파일 소유자, 그룹, 기타(소유자와 그룹 구성원이 아닌 정체성)에 대한 읽기, 쓰기, 실행 접근을 결정해요.
사용 예
Path file = ...;
PosixFileAttributes attrs = Files.getFileAttributeView(file, PosixFileAttributeView.class)
.readAttributes();
System.out.format("%s %s%n",
attrs.owner().getName(),
PosixFilePermissions.toString(attrs.permissions()));
지원 속성
| 이름 | 타입 |
|---|---|
"permissions" |
Set<PosixFilePermission> |
"group" |
GroupPrincipal |
초기 권한 설정
이 뷰를 지원하는 구현은 파일이나 디렉터리를 만들 때 초기 권한 설정을 지원할 수도 있어요. 초기 권한은 createFile 또는 createDirectory 메서드에 "posix:permissions"라는 이름과 권한 집합 값을 가진 FileAttribute로 제공돼요. 예:
Path path = ...;
Set<PosixFilePermission> perms =
EnumSet.of(OWNER_READ, OWNER_WRITE, OWNER_EXECUTE, GROUP_READ);
Files.createFile(path, PosixFilePermissions.asFileAttribute(perms));
실제 권한 값은 요청 값보다 작을(즉 파일이 더 안전할) 수 있어요.
메서드 요약
| 수식자와 타입 | 메서드 | 설명 |
|---|---|---|
String |
name() |
속성 뷰의 이름을 반환해요. |
PosixFileAttributes |
readAttributes() |
기본 파일 속성을 일괄 연산으로 읽어요. |
void |
setGroup(GroupPrincipal group) |
파일 그룹 소유자를 갱신해요. |
void |
setPermissions(Set<PosixFilePermission> perms) |
파일 권한을 갱신해요. |
BasicFileAttributeView에 선언된 메서드: setTimes, FileOwnerAttributeView에 선언된 메서드: getOwner, setOwner
name
String name() — 이 유형의 속성 뷰는 "posix"라는 이름을 가져요.
readAttributes
PosixFileAttributes readAttributes() throws IOException
기본 파일 속성을 일괄 연산으로 읽어요. BasicFileAttributeView의 readAttributes에 의해 지정돼요.
setPermissions
void setPermissions(Set<PosixFilePermission> perms) throws IOException
파일 권한을 갱신해요. 집합에 PosixFilePermission 유형이 아닌 요소가 있으면 ClassCastException이 발생해요.
setGroup
void setGroup(GroupPrincipal group) throws IOException
파일 그룹 소유자를 갱신해요.