[API] java.nio.file.Filesクラス

java.nio.file.Filesは、ファイル・ディレクトリを操作するためのユーティリティクラスです。

java.nio.file.Filesの特徴

java.nio.file.Filesは以下の特徴があります。

  • staticメソッドのみで構成される
  • プラットフォームに依存せずにファイル・ディレクトリ操作ができる

java.nio.file.FilesのAPI

【主要メソッド】
戻値型メソッド静的説明
Pathcopy(Path source, Path target, CopyOption… options)ファイルをターゲット・ファイルにコピーする
PathcreateDirectories(Path dir, FileAttribute<?>… attrs)ディレクトリを作成する
(存在しない親ディレクトリも同時に作成する)
PathcreateDirectory(Path dir, FileAttribute<?>… attrs)ディレクトリを作成する
PathcreateFile(Path path, FileAttribute<?>… attrs)新しい空のファイルを作成する
(既に存在する場合は失敗する)
voiddelete(Path path)ファイルを削除する
(存在しない場合は失敗する)
booleandeleteIfExists(Path path)ファイルが存在する場合のみ削除する
booleanexists(Path path, LinkOption… options)ファイルが存在するかチェックする
booleanisDirectory(Path path, LinkOption… options)ディレクトリかどうか
booleanisExecutable(Path path)ファイルが実行可能かどうか
booleanisHidden(Path path)ファイルが隠しファイルかどうか
booleanisReadable(Path path)ファイルが読み取り可能かどうか
booleanisSameFile(Path path, Path path2)ファイルが同じかどうか
booleanisSymbolicLink(Path path)シンボリックリンクかどうか
booleanisWritable(Path path)ファイルが書き込み可能かどうか
Stream<String>lines(Path path)ファイル内の行をStreamで読込む
BufferedReadernewBufferedReader(Path path)BufferedReaderを返す
InputStreamnewInputStream(Path path, OpenOption… options)ファイルから読取る入力ストリームを返す
OutputStreamnewOutputStream(Path path, OpenOption… options)ファイルに書き込む出力ストリームを返す
booleannotExists(Path path, LinkOption… options)ファイルが存在しないかどうか
StringprobeContentType(Path path)ファイルのコンテンツタイプを返す
byte[]readAllBytes(Path path)ファイルを読み取りバイト配列で返す
List<String>readAllLines(Path path)ファイルからすべての行を読み取る
PathsetAttribute(Path path, String attribute, Object value, LinkOption… options)ファイル属性の値を設定する
PathsetLastModifiedTime(Path path, FileTime time)ファイルの最終変更時間属性を更新する
PathsetOwner(Path path, UserPrincipal owner)ファイルの所有者を変更する
longsize(Path path)ファイルのサイズをバイトで返す
Stream<Path>walk(Path start, FileVisitOption… options)ファイルツリーを参照しStreamを返す
PathwalkFileTree(Path start, FileVisitor<? super Path> visitor)ファイルツリーを参照する
Pathwrite(Path path, byte[] bytes, OpenOption… options)バイトをファイルに書き込む

java.nio.file.Filesサンプル

(ファイル・ディレクトリを作成する)

//ファイルを作成する
Path filePath = Paths.get("sample.txt");
Files.createFile(filePath);

//ディレクトリを作成する
Path dirPath = Paths.get("mydir");
Files.createDirectory(dirPath);
(ファイルを読み込む)

Path path = Paths.get("sample.txt");
List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8);
(ファイルに書き込む)

Path path = Paths.get("sample.txt");
List<String> lines = Arrays.asList("みかん", "りんご", "ぶどう");
Files.write(path, lines, StandardCharsets.UTF_8);
(ファイルをコピーする)

Path source = Paths.get("source.txt");  //コピー元
Path target = Paths.get("target.txt");  //コピー先
Files.copy(source, target, StandardCopyOption.REPLACE_EXISTING);
(ファイルをリネームする)

Path source = Paths.get("oldname.txt");  //元ファイル名
Path target = Paths.get("newname.txt");  //新ファイル名
Files.move(source, target, StandardCopyOption.REPLACE_EXISTING);
(ファイル・ディレクトリの存在確認)

Path path = Paths.get("sample.txt");
boolean exists = Files.exists(path);

コメント

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