-
- すべてのスーパー・インタフェース:
AttributeView
,BasicFileAttributeView
,FileAttributeView
,FileOwnerAttributeView
public interface PosixFileAttributeView extends BasicFileAttributeView, FileOwnerAttributeView
Portable Operating System Interface (POSIX)の標準ファミリを実装するオペレーティング・システムによって使用されるファイル・システムのファイルに一般的に関連付けられるファイル属性のビューを提供するファイル属性ビューです。POSIXの標準ファミリを実装するオペレーティング・システムは、ファイルの所有者、グループ所有者、および関連するアクセス権を持つファイル・システムを一般的に使用します。 このファイル属性ビューは、これらの属性への読み取りおよび書込みアクセスを提供します。
readAttributes
メソッドは、ファイルの属性を読み取るために使用されます。 ファイルowner
は、UserPrincipal
によって表され、アクセス制御を目的としたファイル所有者の識別情報を示します。group-owner
は、GroupPrincipal
によって表され、グループ所有者の識別情報を示します。ここでのグループとは、そのグループのメンバーのアクセス権を特定するために管理目的で作成された識別情報です。permissions
属性は、アクセス権のセットです。 このファイル属性ビューは、PosixFilePermission
クラスで定義されている9つのアクセス権へのアクセスを提供します。 これらの9つのアクセス権ビットは、ファイル所有者、グループ、およびその他(所有者とグループのメンバーを除く識別情報を意味する)の読み取り、書き込み、および実行アクセスを特定します。 一部のオペレーティング・システムおよびファイル・システムでは、追加のアクセス権ビットを提供することがありますが、このリリースではそれらのほかのビットはこのクラスによって定義されていません。使用例: ファイルの所有者とアクセス権を出力する必要があるとします。
Path file = ... PosixFileAttributes attrs = Files.getFileAttributeView(file, PosixFileAttributeView.class) .readAttributes(); System.out.format("%s %s%n", attrs.owner().getName(), PosixFilePermissions.toString(attrs.permissions()));
動的アクセス
ファイル属性への動的アクセスが必要な場合、この属性ビューによってサポートされている属性は
BasicFileAttributeView
およびFileOwnerAttributeView
で定義されているものと同じですが、そのほかに次の属性もサポートされています。名前 型 "permissions" Set
<PosixFilePermission
>"group" GroupPrincipal
getAttribute
メソッドは、readAttributes()
メソッドを呼び出したかのように、これらの属性またはBasicFileAttributeView
によって定義される任意の属性を読み取るために使用できます。setAttribute
メソッドは、BasicFileAttributeView
に定義される、ファイルの最終変更時間、最終アクセス時間、または作成時間属性を更新するために使用できます。 さらにそれは、setPermissions
、setOwner
、およびsetGroup
メソッドをそれぞれ呼び出したかのように、アクセス権、所有権、またはグループ所有者を更新するためにも使用できます。初期アクセス権の設定
この属性ビューをサポートしている実装では、ファイルまたはディレクトリ作成時の初期アクセス権の設定もサポートする場合があります。 初期アクセス権は、
"posix:permissions"
というname
と、アクセス権のセットを示すvalue
を含むFileAttribute
として、createFile
またはcreateDirectory
メソッドに提供されます。 次の例では、ファイルの作成時にasFileAttribute
メソッドを使用してFileAttribute
を構築します。Path path = ... Set<PosixFilePermission> perms = EnumSet.of(OWNER_READ, OWNER_WRITE, OWNER_EXECUTE, GROUP_READ); Files.createFile(path, PosixFilePermissions.asFileAttribute(perms));
ファイルの作成時にアクセス権が設定された場合は、そのアクセス権の実際の値が属性オブジェクトの値と異なることがあります。 その理由は実装に固有のものです。 たとえば、UNIXシステムでは、新しく作成されたファイルのアクセス権ビットに影響を及ぼすumaskがプロセスに含まれています。 アクセス権の設定が実装によってサポートされており、ベースとなるファイル・システムがアクセス権をサポートしている場合、実際のアクセス権の値は、
createFile
またはcreateDirectory
メソッドに提供された属性の値に等しいか、それよりも小さくなる必要があります。 つまり、そのファイルの安全性は要求されたものよりも高くなる可能性があります。- 導入されたバージョン:
- 1.7
-
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 修飾子と型 メソッド 説明 String
name()
属性ビューの名前を返します。PosixFileAttributes
readAttributes()
一括操作として基本ファイル属性を読み取ります。void
setGroup(GroupPrincipal group)
ファイルのグループ所有者を更新します。void
setPermissions(Set<PosixFilePermission> perms)
ファイル・アクセス権を更新します。-
インタフェース java.nio.file.attribute.BasicFileAttributeViewで宣言されたメソッド
setTimes
-
インタフェース java.nio.file.attribute.FileOwnerAttributeViewで宣言されたメソッド
getOwner, setOwner
-
-
-
-
メソッドの詳細
-
name
String name()
属性ビューの名前を返します。 この型の属性ビューは"posix"
という名前です。- 定義:
name
、インタフェースAttributeView
- 定義:
name
、インタフェースBasicFileAttributeView
- 定義:
name
、インタフェースFileOwnerAttributeView
- 戻り値:
- 属性ビューの名前
-
readAttributes
PosixFileAttributes readAttributes() throws IOException
インタフェースからコピーされた説明:BasicFileAttributeView
一括操作として基本ファイル属性を読み取ります。ほかのファイル・システム操作に関して、すべてのファイル属性が原子的操作として読み取られるかどうかは実装固有です。
- 定義:
readAttributes
、インタフェースBasicFileAttributeView
- 戻り値:
- ファイル属性
- 例外:
IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされていて、それがRuntimePermission
("accessUserInformation")
を拒否するか、またはそのcheckRead
メソッドがファイルへの読取りアクセスを拒否する場合。
-
setPermissions
void setPermissions(Set<PosixFilePermission> perms) throws IOException
ファイル・アクセス権を更新します。- パラメータ:
perms
- アクセス権の新しいセット- 例外:
ClassCastException
- セットにPosixFilePermission
のタイプでない要素が含まれる場合IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされていて、それがRuntimePermission
("accessUserInformation")
を拒否するか、またはそのcheckWrite
メソッドがファイルへの書込みアクセスを拒否する場合。
-
setGroup
void setGroup(GroupPrincipal group) throws IOException
ファイルのグループ所有者を更新します。- パラメータ:
group
- 新しいファイルのグループ所有者- 例外:
IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされていて、それがRuntimePermission
("accessUserInformation")
を拒否するか、またはそのcheckWrite
メソッドがファイルへの書込みアクセスを拒否する場合。
-
-