Java7のPathクラスPathsクラスの動きを纏めてみました

Java7のPathクラスPathsクラスの動きを纏めてみました

Java7からjava.nio.file.Pathクラスが追加されています。でも使ったことなかったのでちょっと触ってみました。

Path path = Paths.get("test/file.txt");
System.out.println(path.toAbsolutePath().toString()); // c:\~~\test\file.txt
System.out.println(path.getFileName()); // file.txt
File file = path.toFile();
System.out.println(file); // test\file.txt

path.resolve()

pathのインスタンスにはresolve()メソッドがあり、ディレクトリ階層を連結してくれます。

Path path = Paths.get("src/main");
Path javaPath = path.resolve("java");
System.out.println(javaPath.toFile()); // src\main\java

path.getRoot()

絶対パスを指定した場合にルートを取得します。絶対パスが指定されていない場合はnullが返ってきます。

Path path = Paths.get("c:/test/file.txt");
System.out.println(path.getRoot()); // c:\

Pathsクラス

Pathsクラスはgetメソッドが2つだけあるクラスです。

Path path1 = Paths.get("C:\\temp\\a.txt");
System.out.println(); // C:\temp\a.txt
Path path2 = Paths.get("C:","temp","test","a","b","c.txt");
System.out.println(); // C:\temp\test\a\b\c.txt

可変長の引数の場合は、引数にディレクトリを指定すれば連結されていきます。

パス操作

コメント

タイトルとURLをコピーしました