logo

„FileNotFoundException“ programoje „Java“.

FileNotFoundException yra dar viena išimčių klasė, prieinama java.io paketą. Išimtis atsiranda, kai bandome pasiekti tą failą, kurio sistemoje nėra. Tai yra pažymėta išimtis, nes ji atsiranda vykdymo, o ne kompiliavimo metu, ir ją meta vienas iš šių konstruktorių:

    Atsitiktinės prieigos failas FileInputStream FileOutputStream
„FileNotFoundException“ programoje „Java“.

„FileNotFoundException“ konstruktorius

„FileNotFoundException“ klasė turi šiuos du konstruktorius:

1. FileNotFoundException()

Jis sukuria „FileNotFoundException“ ir nustato klaidos išsamaus pranešimo nulį, nes konstruktoriui neperdavėme jokio parametro.

Sintaksė:

Sintaksė FileNotFoundException yra taip:

 public FileNotFoundException() 

2. FileNotFoundException(String str)

Jis sukuria „FileNotFoundException“ ir nustato išsamios klaidos pranešimą str, kurią perduodame konstruktoriui.

Sintaksė:

Sintaksė FileNotFoundException yra taip:

 public FileNotFoundException(String str) 

„FileNotFoundException“ metodai

Jame pateikiami visi metodai, kuriuos siūlo java.lang.Metimas ir java.lang.Object klases, nes tai yra abiejų šių klasių poklasis.

Metodai java.lang.Throwable class

addSuppressed (), fillInStackTrace (), gauti Priežastį (), getLocalizedMessage (), getMessage (), getStackTrace (), gauti nuslopintas (), initCause (), printStackTrace (), printStackTrace (), printStackTrace (), setStackTrace (), ir toString ().

Java.lang.Object klasės metodai

klonas (), lygus (), užbaigti (), getClass (), maišos kodas (), pranešti (), pranešti visiems (), ir laukti ().

Norėdami sužinoti daugiau apie šiuos metodus, apsilankykite šioje svetainėje:

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

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

Kodėl atsiranda „FileNotFoundException“?

Iš esmės yra dvi priežastys, dėl kurių gauname šią klaidą. Šios išimties gavimo priežastys yra šios:

  1. Kai bandome pasiekti tą failą, jo sistemoje nėra.
  2. Kai bandome pasiekti tą failą, kuris yra nepasiekiamas, pavyzdžiui, jei failą galima naudoti tik skaityti, ir bandome jį modifikuoti, tai gali sukelti klaidą.

Paimkime keletą pavyzdžių ir supraskime abu aukščiau nurodytus dalykus po vieną:

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

Išvestis:

„FileNotFoundException“ programoje „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(); } } } 

Išvestis:

„FileNotFoundException“ programoje „Java“.

„FileNotFoundException“ tvarkymas

Norint tvarkyti išimtį, reikia naudoti try-catch bloką. Bandymo bloke įdėsime tą kodo eilutę, kuri gali padaryti išimtį. Kai įvyksta išimtis, gaudymo blokas su ja susidoros. Yra keletas kitų būdų, kuriais galime pašalinti FileNotFountException ir kurie yra tokie:

gražiausia šypsena pasaulyje
  1. Jei rasime klaidos pranešimą tokio failo ar katalogo nėra ; galime pašalinti šią išimtį iš naujo patikrinę kodą ir patikrinę, ar nurodytas failas yra nurodytame kataloge, ar ne.
  2. Jei rasime klaidos pranešimą priejimas negalimas , turime patikrinti, ar failo leidimas atitinka mūsų reikalavimą, ar ne. Jei leidimas neatitinka mūsų reikalavimo, turime pakeisti failo leidimą.
  3. Dėl priejimas negalimas klaidos pranešimą, taip pat turime patikrinti, ar tą failą naudoja kita programa, ar ne.
  4. Jei rasime klaidos pranešimą nurodytas failas yra katalogas , turime jį ištrinti arba pakeisti failo pavadinimą.

Taigi, „FileNotFoundExceptionExample1“ klasėje „FileReader“ kodą įdedame į try-catch bloką ir užtikriname, kad nurodytas failo pavadinimas būtų prieinamas kataloge.

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

Išvestis:

„FileNotFoundException“ programoje „Java“.