2016年10月3日月曜日

Pathの機能(ファイルやディレクトリの移動)

みなさん。 こんばんは。

今日はファイルやディレクトリの移動について見ていきましょう。

ファイルやディレクトリの移動はJavaSE6のFileクラスでは出来ませんでした。

JavaSE7以降からはFilesクラスのmoveメソッドを使用してファイルやディレクトリの移動をします。

例を見てみましょう。

// 移動元のファイル名
Path form = Paths.get("C:/Users/hoge.txt");
// 移動先のファイル
Path to = Paths.get("C:/Users/tmp/hoge.txt");
// hoge.txtをtmp/hoge.txtに移動
Files.move(from, to);

はい。簡単ですね!

また、移動先のファイルやディレクトリがすでに存在する場合、

FileAlreadyExistsExceptionがスローされるようです。

それを回避するために、以下のように第3引数にCopyOption#REPLACE_EXISTINGオプションを

指定することにより上書きできます。

// 移動先のファイルを上書きする
Files.move(from, to, CopyOption.REPLACE_EXISTING);

またファイルやディレクトリの名前の変更も、Files.moveメソッドを使います。

// 元のファイル名
Path src = Paths.get("foo.txt");
// 変更後のファイル名
Path dest = Paths.get("bar.txt");
// ファイル名を変更
Files.move(src, dest);

JavaSE 7/8 ではファイルやディレクトリの移動が出来るようになって便利になりましたね。

それではまた!

人気ブログランキングへ

0 件のコメント:

コメントを投稿