2016年10月24日月曜日

FileAttributeを使用したパーミッションの設定

みなさん。 こんばんは。

今日はパーミッションを指定してファイルを作成する方法を見ていきましょう。

FIlesクラスでファイルやリンクを作成するメソッドは、パーミッションを指定できます。

パーミッションを指定できるメソッドは以下の8種類です。


  • createFileメソッド
  • createTempFileメソッド
  • createDirectoryメソッド
  • createTempDirectoryメソッド
  • createDirectoriesメソッド
  • createLinkメソッド
  • createSymbolicLinkメソッド
  • newByteChannelメソッド

createTempFileメソッドとcreateTempDirectoryメソッドは、

一時ファイルを作成するためのメソッドです。

これらのメソッドでパーミッションを指定するために使用されるのが、

java.nio.file.attribute.FileAttributeインターフェースです。

FileAttributeインターフェースはnameメソッドとvalueメソッドを定義しており、

それぞれアトリビュート名と値を返します。

FIleAttributeインターフェースの実装クラスは提供されていませんが、

PosixFilePermissionsクラスにFIleAttributeオブジェクトを生成するasFileAttributeメソッドが

定義されています。

それでは、createFileメソッドでリードオンリーのファイルを作成してみましょう。

// 対象となるパス
Path path = Paths.get("var.txt");
// リードオンリーのパーミッションを生成
Set<PosixFilePermission> permissions = PosixFilePermissions.fromString("r--r--r--");
// パーミッションをFileAttributeオブジェクトに変換
FileAttribute<Set<PosixFilePermission>> attr = PosixFilePermissions.asFileAttribute(permissions);
// パーミッションを指定して、ファイルを生成
Files.createFile(path, attr);

ァイルのアトリビュートの設定が簡単に出来ましたね!

それでは今日はこの辺で!

人気ブログランキングへ

0 件のコメント:

コメントを投稿