logo

FileNotFoundException in Java

FileNotFoundException ist eine weitere Ausnahmeklasse, die in der verfügbar ist java.io Paket. Die Ausnahme tritt auf, wenn wir versuchen, auf die Datei zuzugreifen, die im System nicht verfügbar ist. Es handelt sich um eine geprüfte Ausnahme, da sie zur Laufzeit und nicht zur Kompilierungszeit auftritt und von einem der folgenden Konstruktoren ausgelöst wird:

    RandomAccessFile FileInputStream FileOutputStream
FileNotFoundException in Java

FileNotFoundException-Konstruktor

Die FileNotFoundException-Klasse verfügt über die folgenden zwei Konstruktoren:

1. FileNotFoundException()

Es erstellt eine FileNotFoundException und setzt die Fehlerdetailmeldung auf null, da wir keine Parameter an den Konstruktor übergeben haben.

Syntax:

Die Syntax der FileNotFoundException ist wie folgt:

 public FileNotFoundException() 

2. FileNotFoundException(String str)

Es erstellt eine FileNotFoundException und legt die Fehlerdetailmeldung fest str, die wir an den Konstruktor übergeben.

Syntax:

Die Syntax der FileNotFoundException ist wie folgt:

 public FileNotFoundException(String str) 

FileNotFoundException-Methoden

Es stellt alle Methoden bereit, die von bereitgestellt werden java.lang.Throwable und das java.lang.Object Klassen, weil es eine Unterklasse dieser beiden Klassen ist.

Methoden der Klasse java.lang.Throwable

addUnterdrückt (), fillInStackTrace (), getCause (), getLocalizedMessage (), getMessage (), getStackTrace (), getSuppressed (), initCause (), printStackTrace (), printStackTrace (), printStackTrace (), setStackTrace (), Und toString ().

Methoden der Klasse java.lang.Object

Klon (), gleicht (), abschließen (), getClass (), Hash-Code (), benachrichtigen (), notifyAll (), Und Warten ().

Weitere Informationen zu diesen Methoden finden Sie hier:

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

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

Warum tritt eine FileNotFoundException auf?

Es gibt hauptsächlich zwei Gründe, warum wir diesen Fehler erhalten. Die Gründe für diese Ausnahme sind folgende:

  1. Wenn wir versuchen, auf diese Datei zuzugreifen, ist diese im System nicht verfügbar.
  2. Wenn wir versuchen, auf die Datei zuzugreifen, auf die nicht zugegriffen werden kann, beispielsweise wenn eine Datei für den schreibgeschützten Betrieb verfügbar ist, und versuchen, sie zu ändern, kann dies zu einem Fehler führen.

Nehmen wir einige Beispiele und verstehen wir die beiden oben genannten Punkte einzeln:

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(); } } } 

Ausgabe:

FileNotFoundException in Java

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(); } } } 

Ausgabe:

FileNotFoundException in Java

Behandlung von FileNotFoundException

Um die Ausnahme zu behandeln, ist die Verwendung des Try-Catch-Blocks erforderlich. Im try-Block fügen wir die Codezeile ein, die eine Ausnahme auslösen kann. Immer wenn eine Ausnahme auftritt, wird sie vom Catch-Block behandelt. Es gibt einige andere Möglichkeiten, wie wir das entfernen können FileNotFountException und die wie folgt lauten:

  1. Wenn wir die Fehlermeldung finden Es gibt keine solche Datei oder kein solches Verzeichnis ; Wir können diese Ausnahme entfernen, indem wir den Code erneut überprüfen und prüfen, ob die angegebene Datei im angegebenen Verzeichnis verfügbar ist oder nicht.
  2. Wenn wir die Fehlermeldung finden Der Zugriff wird verweigert müssen wir prüfen, ob die Berechtigung der Datei unseren Anforderungen entspricht oder nicht. Wenn die Berechtigung nicht unseren Anforderungen entspricht, müssen wir die Berechtigung der Datei ändern.
  3. Für Der Zugriff wird verweigert Fehlermeldung müssen wir auch prüfen, ob diese Datei von einem anderen Programm verwendet wird oder nicht.
  4. Wenn wir die Fehlermeldung finden Die angegebene Datei ist ein Verzeichnis , müssen wir es löschen oder den Namen der Datei ändern.

Daher fügen wir in der Klasse FileNotFoundExceptionExample1 den FileReader-Code in den Try-Catch-Block ein und stellen sicher, dass der angegebene Dateiname im Verzeichnis verfügbar ist.

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(); } } } 

Ausgabe:

FileNotFoundException in Java