FileNotFoundException est une autre classe d'exception disponible dans le java.io emballer. L'exception se produit lorsque nous essayons d'accéder à ce fichier qui n'est pas disponible dans le système. Il s'agit d'une exception vérifiée car elle se produit au moment de l'exécution, pas au moment de la compilation, et elle est levée par l'un des constructeurs suivants :
Constructeur FileNotFoundException
La classe FileNotFoundException possède les deux constructeurs suivants :
1. FileNotFoundException()
Il construit une FileNotFoundException et définit le message détaillé de l'erreur sur null car nous n'avons transmis aucun paramètre au constructeur.
Syntaxe:
La syntaxe du FileNotFoundException est comme suit:
public FileNotFoundException()
2. FileNotFoundException (String chaîne)
Il construit une FileNotFoundException et définit le message détaillé de l'erreur str, que nous transmettons au constructeur.
Syntaxe:
monlivecricket
La syntaxe du FileNotFoundException est comme suit:
public FileNotFoundException(String str)
Méthodes FileNotFoundException
Il fournit toutes les méthodes fournies par le java.lang.Throwable et le java.lang.Object classes car il s’agit d’une sous-classe de ces deux classes.
Méthodes de la classe java.lang.Throwable
ajouterSupprimé (), remplirInStackTrace (), getCause (), getLocalizedMessage (), obtenir un message (), getStackTrace (), obtenirSupprimé (), initCause (), printStackTrace (), printStackTrace (), printStackTrace (), setStackTrace (), et versChaîne ().
Méthodes de la classe java.lang.Object
cloner (), équivaut à (), finaliser (), obtenirClass (), code de hachage (), notifier (), notifierTous (), et attendez ().
Pour en savoir plus sur ces méthodes, visitez les sites suivants :
xd xd signification
https://www.javatpoint.com/object-class
https://www.javatpoint.com/post/java-throwable
Pourquoi FileNotFoundException se produit ?
Il y a principalement deux raisons pour lesquelles nous obtenons cette erreur. Les raisons pour lesquelles cette exception est obtenue sont les suivantes :
- Lorsque nous essayons d'accéder à ce fichier, celui-ci n'est pas disponible dans le système.
- Lorsque nous essayons d'accéder à ce fichier qui est inaccessible, par exemple, si un fichier est disponible pour une opération en lecture seule et essayons de le modifier, cela peut générer l'erreur.
Prenons quelques exemples et comprenons les deux points ci-dessus un par un :
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(); } } }
Sortir:
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(); } } }
Sortir:
java datetime locale
Gestion de l'exception FileNotFoundException
Afin de gérer l'exception, il est nécessaire d'utiliser le bloc try-catch. Dans le bloc try, nous mettrons cette ligne de code qui peut lever une exception. Chaque fois qu'une exception se produit, le bloc catch la gérera. Il existe d'autres moyens par lesquels nous pouvons supprimer le FileNotFountException et qui sont les suivantes :
- Si nous trouvons le message d'erreur il n'existe pas de fichier ou de répertoire de ce type ; nous pouvons supprimer cette exception en revérifiant le code et en vérifiant si le fichier donné est disponible ou non dans le répertoire donné.
- Si nous trouvons le message d'erreur l'accès est refusé , nous devons vérifier si l'autorisation du fichier est conforme à nos exigences ou non. Si l'autorisation ne correspond pas à nos exigences, nous devons modifier l'autorisation du fichier.
- Pour l'accès est refusé message d'erreur, nous devons également vérifier si ce fichier est utilisé par un autre programme ou non.
- Si nous trouvons le message d'erreur le fichier spécifié est un répertoire , nous devons le supprimer ou changer le nom du fichier.
Ainsi, dans la classe FileNotFoundExceptionExample1, nous mettons le code FileReader dans le bloc try-catch et veillons à ce que le nom de fichier donné soit disponible dans le répertoire.
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(); } } }
Sortir: