java.nio.file.Filesは、ファイル・ディレクトリを操作するためのユーティリティクラスです。
java.nio.file.Filesの特徴
java.nio.file.Filesは以下の特徴があります。
- staticメソッドのみで構成される
- プラットフォームに依存せずにファイル・ディレクトリ操作ができる
java.nio.file.FilesのAPI
戻値型 | メソッド | 静的 | 説明 |
---|---|---|---|
Path | copy(Path source, Path target, CopyOption… options) | 〇 | ファイルをターゲット・ファイルにコピーする |
Path | createDirectories(Path dir, FileAttribute<?>… attrs) | 〇 | ディレクトリを作成する (存在しない親ディレクトリも同時に作成する) |
Path | createDirectory(Path dir, FileAttribute<?>… attrs) | 〇 | ディレクトリを作成する |
Path | createFile(Path path, FileAttribute<?>… attrs) | 〇 | 新しい空のファイルを作成する (既に存在する場合は失敗する) |
void | delete(Path path) | 〇 | ファイルを削除する (存在しない場合は失敗する) |
boolean | deleteIfExists(Path path) | 〇 | ファイルが存在する場合のみ削除する |
boolean | exists(Path path, LinkOption… options) | 〇 | ファイルが存在するかチェックする |
boolean | isDirectory(Path path, LinkOption… options) | 〇 | ディレクトリかどうか |
boolean | isExecutable(Path path) | 〇 | ファイルが実行可能かどうか |
boolean | isHidden(Path path) | 〇 | ファイルが隠しファイルかどうか |
boolean | isReadable(Path path) | 〇 | ファイルが読み取り可能かどうか |
boolean | isSameFile(Path path, Path path2) | 〇 | ファイルが同じかどうか |
boolean | isSymbolicLink(Path path) | 〇 | シンボリックリンクかどうか |
boolean | isWritable(Path path) | 〇 | ファイルが書き込み可能かどうか |
Stream<String> | lines(Path path) | 〇 | ファイル内の行をStreamで読込む |
BufferedReader | newBufferedReader(Path path) | 〇 | BufferedReaderを返す |
InputStream | newInputStream(Path path, OpenOption… options) | 〇 | ファイルから読取る入力ストリームを返す |
OutputStream | newOutputStream(Path path, OpenOption… options) | 〇 | ファイルに書き込む出力ストリームを返す |
boolean | notExists(Path path, LinkOption… options) | 〇 | ファイルが存在しないかどうか |
String | probeContentType(Path path) | 〇 | ファイルのコンテンツタイプを返す |
byte[] | readAllBytes(Path path) | 〇 | ファイルを読み取りバイト配列で返す |
List<String> | readAllLines(Path path) | 〇 | ファイルからすべての行を読み取る |
Path | setAttribute(Path path, String attribute, Object value, LinkOption… options) | 〇 | ファイル属性の値を設定する |
Path | setLastModifiedTime(Path path, FileTime time) | 〇 | ファイルの最終変更時間属性を更新する |
Path | setOwner(Path path, UserPrincipal owner) | 〇 | ファイルの所有者を変更する |
long | size(Path path) | 〇 | ファイルのサイズをバイトで返す |
Stream<Path> | walk(Path start, FileVisitOption… options) | 〇 | ファイルツリーを参照しStreamを返す |
Path | walkFileTree(Path start, FileVisitor<? super Path> visitor) | 〇 | ファイルツリーを参照する |
Path | write(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);
コメント