Java : FileAlreadyExistsException - API使用例
FileAlreadyExistsException (Java SE 22 & JDK 22) の使い方まとめです。
ほとんどのメソッドにサンプルコードがあります。
APIドキュメントのおともにどうぞ。
概要
FileAlreadyExistsException は、操作する対象のファイルがすでに存在するときに投げれられる例外です。
例えば、
- 作成しようとしたファイルがすでに存在する
- コピー先のファイルがすでに存在する
などです。
final var file = Path.of("R:", "java-work", "aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt
Files.createFile(file);
System.out.println(Files.exists(file)); // true
try {
System.out.println("-- createFile --");
Files.createFile(file);
} catch (FileAlreadyExistsException e) {
System.out.println(e);
}
// 結果
// ↓
//-- createFile --
//java.nio.file.FileAlreadyExistsException: R:\java-work\aaa.txt
final var src = Path.of("R:", "java-work", "aaa.txt");
final var dst = Path.of("R:", "java-work", "bbb.txt");
System.out.println(src); // R:\java-work\aaa.txt
System.out.println(dst); // R:\java-work\bbb.txt
Files.createFile(src);
Files.createFile(dst);
System.out.println(Files.exists(src)); // true
System.out.println(Files.exists(dst)); // true
try {
System.out.println("-- copy --");
Files.copy(src, dst);
} catch (FileAlreadyExistsException e) {
System.out.println(e);
}
// 結果
// ↓
//-- copy --
//java.nio.file.FileAlreadyExistsException: R:\java-work\bbb.txt
コンストラクタ
FileAlreadyExistsException (String file)
final var e = new FileAlreadyExistsException("aaa.txt");
System.out.println(e); // java.nio.file.FileAlreadyExistsException: aaa.txt
System.out.println(e.getFile()); // aaa.txt
FileAlreadyExistsException (String file, String other, String reason)
final var e = new FileAlreadyExistsException("aaa.txt", "bbb.txt", "Reason!");
// java.nio.file.FileAlreadyExistsException: aaa.txt -> bbb.txt: Reason!
System.out.println(e);
System.out.println(e.getFile()); // aaa.txt
System.out.println(e.getOtherFile()); // bbb.txt
System.out.println(e.getReason()); // Reason!
System.out.println(e.getMessage()); // aaa.txt -> bbb.txt: Reason!
FileSystemExceptionで宣言されたメソッド
getFile, getMessage, getOtherFile, getReason
「Java API 使用例 : FileSystemException」をご参照ください。
Throwableで宣言されたメソッド
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
「Java API 使用例 : Throwable」をご参照ください。