logo

JavaのFileNotFoundException

ファイルが見つかりません例外 で使用できる別の例外クラスです。 java.io パッケージ。システムで利用できないファイルにアクセスしようとすると、例外が発生します。これはコンパイル時ではなく実行時に発生し、次のコンストラクターのいずれかによってスローされるため、チェック例外です。

    ランダムアクセスファイル ファイル入力ストリーム ファイル出力ストリーム
JavaのFileNotFoundException

FileNotFoundException コンストラクター

FileNotFoundException クラスには次の 2 つのコンストラクターがあります。

1. FileNotFoundException()

コンストラクターにパラメーターを渡さなかったため、FileNotFoundException を構築し、エラー詳細メッセージを null に設定します。

構文:

文字列をintに変換する方法

の構文は、 ファイルが見つかりません例外 以下のとおりであります:

 public FileNotFoundException() 

2. FileNotFoundException(String str)

FileNotFoundException を構築し、エラーの詳細メッセージを設定します。 ストラ、 これをコンストラクターに渡します。

構文:

の構文は、 ファイルが見つかりません例外 以下のとおりであります:

 public FileNotFoundException(String str) 

FileNotFoundException メソッド

によって提供されるすべてのメソッドが提供されます。 java.lang.Throwable そしてその java.lang.オブジェクト これは、これら両方のクラスのサブクラスであるためです。

java.lang.Throwableクラスのメソッド

追加抑制 ()、 fillInStackTrace ()、 原因を取得する ()、 getLocalizedMessage ()、 メッセージを取得する ()、 getスタックトレース ()、 抑制される ()、 原因 ()、 プリントスタックトレース ()、 プリントスタックトレース ()、 プリントスタックトレース ()、 setStackTrace ()、 そして toString ()。

java.lang.Objectクラスのメソッド

クローン ()、 等しい ()、 仕上げる ()、 getクラス ()、 ハッシュコード ()、 通知する ()、 すべてに通知する ()、 そして 待って ()。

アルファベータ枝刈り

これらの方法の詳細については、次を参照してください。

https://www.javatpoint.com/object-class

https://www.javatpoint.com/post/java-throwable

FileNotFoundExceptionが発生するのはなぜですか?

このエラーが発生する理由は主に 2 つあります。この例外が発生する理由は次のとおりです。

  1. そのファイルにアクセスしようとすると、システムではそのファイルを利用できません。
  2. アクセスできないファイルにアクセスしようとすると、たとえば、ファイルが読み取り専用操作で使用可能で、それを変更しようとすると、エラーが発生する可能性があります。

いくつかの例を取り上げて、上記の両方の点を 1 つずつ理解してみましょう。

FileNotFoundExample1.java

 // import required classes and packages package javaTpoint.MicrosoftJava; import java.io.*; // it contains all the input and the output streams // create FileNotFoundExceptionExample1 to undestand the first point. public class FileNotFoundExceptionExample1 { public static void main(String[] args) { // creating an instance of the FileReader class FileReader fileReader = new FileReader('Test.txt'); // create an instance of the BufferedReader and pass the FileReader instance to it. BufferedReader bufferReader = new BufferedReader(fileReader); // declaring an empty string by passing null value String fileData = null; // use while loop to read and print data from buffered reader while ((fileData = bufferReader.readLine()) != null) { System.out.println(fileData); } // closing the BufferedReader object try { bufferReader.close(); } catch (IOException e) { e.printStackTrace(); } } } 

出力:

Javaのif文
JavaのFileNotFoundException

FileNotFoundExample2.java

 // import required classes and packages package javaTpoint.MicrosoftJava; import java.io.*; // it contains all the input and the output streams // create FileNotFoundExceptionExample2 to understand the second point. public class FileNotFoundExceptionExample2 { // main() method start public static void main(String[] args) { try { // creating an instance of the File class to open file File fileObj = new File('Test.txt'); // creating an instance of the PrintWriter class by initiating FileWriter class instance PrintWriter printWriter1 = new PrintWriter(new FileWriter(fileObj), true); // print simple text hello world printWriter1.println('Hello world'); printWriter1.close(); // making Test file read only fileObj.setReadOnly(); // try to write data into Test.txt file PrintWriter printWriter2 = new PrintWriter(new FileWriter('Test.txt'), true); printWriter2.println('Hello World'); printWriter2.close(); } // catching exception thrown by the try block catch(Exception ex) { ex.printStackTrace(); } } } 

出力:

JavaのFileNotFoundException

FileNotFoundException の処理

例外を処理するには、try-catch ブロックを使用する必要があります。 try ブロックには、例外をスローできるコード行を置きます。例外が発生するたびに、catch ブロックがそれを処理します。他にも削除できる方法がいくつかあります。 FileNotFountException そしてそれは次のとおりです。

  1. エラーメッセージが見つかった場合 そのようなファイルまたはディレクトリはありません ;コードを再検証し、指定されたファイルが指定されたディレクトリで利用可能かどうかを確認することで、この例外を削除できます。
  2. エラーメッセージが見つかった場合 アクセスが拒否されました 、ファイルのアクセス許可が要件に従っているかどうかを確認する必要があります。許可が要件に従っていない場合は、ファイルの許可を変更する必要があります。
  3. のために アクセスが拒否されました エラー メッセージが表示された場合は、そのファイルが別のプログラムで使用されているかどうかも確認する必要があります。
  4. エラーメッセージが見つかった場合 指定されたファイルはディレクトリです 場合は、それを削除するか、ファイル名を変更する必要があります。

したがって、FileNotFoundExceptionExample1 クラスでは、FileReader コードを try-catch ブロックに配置し、指定されたファイル名がディレクトリで使用できることを確認します。

FileNotFoundExample1.java

 // import required classes and packages package javaTpoint.MicrosoftJava; import java.io.*; // it contains all the input and the output streams // create FileNotFoundExceptionExample1 public class FileNotFoundExceptionExample1 { public static void main(String[] args) { // creating an instance of the FileReader class FileReader fileReader; try { fileReader = new FileReader('Test.txt'); // create instance of the BufferedReader and pass the FileReader instance to it. BufferedReader bufferReader = new BufferedReader(fileReader); // declaring an empty string by passing null value String fileData = null; // use while loop to read and print data from buffered reader try { while ((fileData = bufferReader.readLine()) != null) { System.out.println(fileData); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (FileNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } 

出力:

ハッシュマップJava
JavaのFileNotFoundException