2016年10月6日木曜日

Pathの機能(リンクの作成)

みなさん。 こんばんは。

今日はリンクの作成について見ていきましょう。

リンクの作成はJavaSE 6までは出来ませんでした。

JavaSE 7/8 からリンクの作成が出来るようになりました。

これからは、ハードリンクやシンボリックリンクを作成する際に困ることも無いですね。

File.coreateLink()メソッドでハードリンクを、File.createSymbolicLink()メソッドで

シンボリックリンクを作成出来ます。

プラットフォームがこれらの機能をサポートしていない場合は UnsupportedOperationExceptionを、

すでにファイル等が存在するためリンクを作成できない場合は FileAlreadyExstsExceptionを

スローします。

それでは具体的なソースを見てみましょう。

// ハードリンクを作成する
Path path = Paths.get("doc", "readme.txt");
Path link = Paths.get("link.txt");
// doc/readme.txtのハードリンクをlink.txtとして作成
Files.createLink(link, path);

File.createSymbolicLink()メソッドには、第3引数以降に作成するシンボリックリンクの属性を

FIleAttributeで指定できます。

// シンボリックリンクを作成する
Path path = Paths.get("doc", "readme.txt");
Path link = Paths.get("link.txt");
// doc/readme.txtのシンボリックリンクをlink.txtとして作成
Files.createSymbolicLink(link, path);

Windows環境でFiles.createSymbolicLink()メソッドを呼び出すと、例外が発生します。

この場合は、Java VM を管理者モードで実行する必要があるそうです。

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

それではまた!

人気ブログランキングへ

0 件のコメント:

コメントを投稿