広告

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」をご参照ください。


関連記事

ページの先頭へ