広告

Java : FileSystemException - API使用例

FileSystemException (Java SE 22 & JDK 22) の使い方まとめです。
ほとんどのメソッドにサンプルコードがあります。
APIドキュメントのおともにどうぞ。


概要

1つまたは2つのファイルでファイル・システム操作が失敗した場合にスローされます。 このクラスは、ファイル・システム例外の汎用クラスです。

クラス構成

FileSystemException は、ファイル操作に失敗したときに投げられる例外のベースとなるクラスです。
より具体的な例外として、FileSystemException のサブクラスがいくつか用意されています。

例えば、

などです。

final var file = Path.of("R:", "java-work", "aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt
System.out.println(Files.notExists(file)); // true

try {
    Files.delete(file);
} catch (FileSystemException e) {
    System.out.println(e);
}

// 結果
// ↓
//java.nio.file.NoSuchFileException: R:\java-work\aaa.txt
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 {
    Files.createFile(file);
} catch (FileSystemException e) {
    System.out.println(e);
}

// 結果
// ↓
//java.nio.file.FileAlreadyExistsException: R:\java-work\aaa.txt

コンストラクタ

FileSystemException (String file)

このクラスのインスタンスを構築します。

final var e = new FileSystemException("aaa.txt");
System.out.println(e); // java.nio.file.FileSystemException: aaa.txt
System.out.println(e.getFile()); // aaa.txt

FileSystemException (String file, String other, String reason)

このクラスのインスタンスを構築します。

final var e = new FileSystemException("aaa.txt", "bbb.txt", "Reason!");
System.out.println(e); // java.nio.file.FileSystemException: aaa.txt -> bbb.txt: Reason!
System.out.println(e.getFile()); // aaa.txt
System.out.println(e.getOtherFile()); // bbb.txt
System.out.println(e.getReason()); // Reason!

メソッド

String getFile ()

この例外の作成に使用されたファイルを返します。

final var e = new FileSystemException("aaa.txt");
System.out.println(e); // java.nio.file.FileSystemException: aaa.txt
System.out.println(e.getFile()); // aaa.txt

String getMessage ()

詳細メッセージの文字列を返します。

final var e = new FileSystemException("aaa.txt", "bbb.txt", "Reason!");
System.out.println(e); // java.nio.file.FileSystemException: aaa.txt -> bbb.txt: Reason!
System.out.println(e.getMessage()); // aaa.txt -> bbb.txt: Reason!

String getOtherFile ()

この例外の作成に使用されたもう一方のファイルを返します。

final var e = new FileSystemException("aaa.txt", "bbb.txt", "Reason!");
System.out.println(e); // java.nio.file.FileSystemException: aaa.txt -> bbb.txt: Reason!
System.out.println(e.getOtherFile()); // bbb.txt

String getReason ()

ファイル・システムの操作が失敗した理由を説明する文字列を返します。

final var e = new FileSystemException("aaa.txt", "bbb.txt", "Reason!");
System.out.println(e); // java.nio.file.FileSystemException: aaa.txt -> bbb.txt: Reason!
System.out.println(e.getReason()); // Reason!

Throwableで宣言されたメソッド

addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString

Java API 使用例 : Throwable」をご参照ください。


関連記事

ページの先頭へ