logo

FileNotFoundException a Java nyelven

FileNotFoundException egy másik kivételosztály elérhető a java.io csomag. A kivétel akkor fordul elő, amikor megpróbálunk hozzáférni ahhoz a fájlhoz, amely nem elérhető a rendszerben. Ez egy ellenőrzött kivétel, mert futási időben fordul elő, nem fordítási időben, és a következő konstruktorok egyike dobja ki:

    RandomAccessFile FileInputStream FileOutputStream
FileNotFoundException a Java nyelven

FileNotFoundException konstruktor

A FileNotFoundException osztálynak a következő két konstruktora van:

1. FileNotFoundException()

Létrehoz egy FileNotFoundException-t, és nullára állítja a részletes hibaüzenetet, mert nem adtunk át paramétert a konstruktornak.

Szintaxis:

A szintaxis a FileNotFoundException az alábbiak:

 public FileNotFoundException() 

2. FileNotFoundException(String str)

Létrehoz egy FileNotFoundException kivételt, és beállítja a hibaüzenetet str, amelyet átadunk a kivitelezőnek.

Szintaxis:

A szintaxis a FileNotFoundException az alábbiak:

 public FileNotFoundException(String str) 

FileNotFoundException Methods

Ez biztosítja az összes módszert, amelyet a java.lang.Dobható és a java.lang.Object osztályokba, mert ez mindkét osztály alosztálya.

A java.lang.Throwable class módszerei

addSuppressed (), fillInStackTrace (), getCuse (), getLocalizedMessage (), getMessage (), getStackTrace (), getSuppressed (), initCause (), printStackTrace (), printStackTrace (), printStackTrace (), setStackTrace (), és toString ().

A java.lang.Object osztály módszerei

klón (), egyenlő (), véglegesíteni (), getClass (), hash kód (), értesítse (), értesítiMindent (), és várjon ().

Ha többet szeretne megtudni ezekről a módszerekről, látogasson el a következő oldalra:

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

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

Miért fordul elő FileNotFoundException?

Főleg két oka van annak, hogy ezt a hibát kapjuk. Ennek a kivételnek az okai a következők:

  1. Amikor megpróbálunk hozzáférni ehhez a fájlhoz, az nem érhető el a rendszerben.
  2. Amikor megpróbálunk hozzáférni ahhoz a fájlhoz, amely nem érhető el, például ha egy fájl csak olvasható műveletre elérhető, és megpróbáljuk módosítani, az hibát okozhat.

Vegyünk néhány példát, és értsük meg egyenként mindkét fenti pontot:

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

Kimenet:

FileNotFoundException a Java nyelven

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

Kimenet:

FileNotFoundException a Java nyelven

A FileNotFoundException kezelése

A kivétel kezeléséhez a try-catch blokkot kell használni. A try blokkban azt a kódsort helyezzük el, amely kivételt tud okozni. Ha kivétel történik, a catch blokk kezeli azt. Vannak más módszerek is, amelyeken keresztül eltávolíthatjuk a FileNotFountException és amelyek a következők:

  1. Ha megtaláljuk a hibaüzenetet nincs ilyen fájl vagy könyvtár ; Ezt a kivételt úgy tudjuk eltávolítani, hogy újra ellenőrizzük a kódot, és ellenőrizzük, hogy az adott fájl elérhető-e az adott könyvtárban vagy sem.
  2. Ha megtaláljuk a hibaüzenetet hozzáférés megtagadva , ellenőriznünk kell, hogy a fájl engedélye megfelel-e a követelményeinknek vagy sem. Ha az engedély nem felel meg a követelményeinknek, akkor módosítanunk kell a fájl engedélyét.
  3. Mert hozzáférés megtagadva hibaüzenetet, azt is ellenőriznünk kell, hogy a fájlt használja-e egy másik program vagy sem.
  4. Ha megtaláljuk a hibaüzenetet a megadott fájl egy könyvtár , törölnünk kell vagy módosítanunk kell a fájl nevét.

Tehát a FileNotFoundExceptionExample1 osztályban a FileReader kódot a try-catch blokkba helyezzük, és biztosítjuk, hogy a megadott fájlnév elérhető legyen a könyvtárban.

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

Kimenet:

FileNotFoundException a Java nyelven