Java : FileSystemException - API使用例
FileSystemException (Java SE 22 & JDK 22) の使い方まとめです。
ほとんどのメソッドにサンプルコードがあります。
APIドキュメントのおともにどうぞ。
概要
1つまたは2つのファイルでファイル・システム操作が失敗した場合にスローされます。 このクラスは、ファイル・システム例外の汎用クラスです。
FileSystemException は、ファイル操作に失敗したときに投げられる例外のベースとなるクラスです。
より具体的な例外として、FileSystemException のサブクラスがいくつか用意されています。
例えば、
- 存在しないファイルを削除しようとして失敗 : NoSuchFileException
- すでにファイルが存在するのに、同じファイルを作成しようとして失敗 : FileAlreadyExistsException
などです。
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」をご参照ください。