2016年10月18日火曜日

ファイルアトリビュートの設定

みなさん。 こんばんは。

昨日はファイルのアトリビュートの取得について書きましたが、

今日はファイルのアトリビュート設定について見ていきましょう。

早速ファイルの最終更新日時とパーミッションを変更してみます。

最終更新日時を変更するには java.nio.file.attribute.FileTime クラスを使用します。

FileTimeクラスは、作成日時や最終更新日時などのファイルに関するタイムスタンプを

保持するクラスです。

FileTimeクラスのオブジェクトの生成には、ファクトリメソッドのfromメソッドもしくは、

fromMillisメソッドを使用します。

さっそく見てみましょう。

// Filesクラスのアトリビュート設定メソッドの使用例

// 対象となるパスPath path = Paths.get("foo.txt");
// 最終変更日時を変更FileTime time = FileTime.fromMillis(System.currentTimeMillis()):Files.setLastModifiedTime(path, time);

最終更新日時には、System.currentTimeMillisメソッドを使用して現在時刻を設定しています。

次にパーミッションの設定について見ていきましょう。

// パーミッションを変更(Windowsは不可)if(!System.getProperty("os.name").contains("Windows")) {       Set<PosixFilePermisshon> permisshons = PosixFilePermissions.fromString("rw-rw-rw-");       Files.setPosixFilePermissions(path, permissions);}

パーミッションはPosixFilePermission列挙型で表します。

ここでも、ユーティリティークラスのPosixFilePermissionsクラスが提供しているファクトリメソッドの

fromStringメソッドを使用します。

fromStringメソッドでは、UNIXでのパーミッションを表す文字列を引数に指定します。

返り値はパーミッションを表すSet<PosixFilePermissions>オブジェクトになります。

上記パーミッションロジックは、誰でも読み込み、書き込み可能な設定にしています。

今日はこの辺にしておきましょう。

それではまた!

人気ブログランキングへ

0 件のコメント:

コメントを投稿