Java FileNotFoundException est un type d'exception qui se produit souvent lors de l'utilisation des API de fichiers en Java où le chemin spécifié pour un fichier à des fins de lecture ou d'écriture dans le constructeur des classes FileInputStream, FileOutputStream et RandomAccessFile n'existe pas ou est inaccessible. en raison d'un verrou existant ou d'autres problèmes techniques. Il s'agit d'une exception vérifiée, une sous-classe directe de IOException qui a été introduite avec le JDK 1.0. En outre, il contient deux types de constructeurs qui peuvent être appelés, l'un renvoyant une exception avec un message nul à afficher, tandis que l'autre imprime le message spécifié au cas où l'exception se produirait.
PUBLICITÉ Cours populaire dans cette catégorie MAÎTRISÉE JAVA - Spécialisation | 78 séries de cours | 15 tests simulésCommencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
Syntaxe :
public class FileNotFoundExceptionextends IOException
Cette classe est une sous-classe directe de IOException, héritant ainsi de toutes les méthodes et variables de la classe.
FileNotFoundException est une exception vérifiée utilisée qui se produit lorsqu'un chemin de fichier spécifié pour l'accès n'existe pas ou est inaccessible. Avec l'exception vérifiée, cela signifie que le compilateur Java vérifie au moment de la compilation si cette exception a été gérée ou non ; sinon, une erreur de compilation se produit. Voyons comment l'exception est levée au moment de l'exécution au cas où elle aurait été gérée à l'aide de blocs try-catch ou en utilisant le mot-clé throws dans sa définition au moment du compilateur.
Exemple :
File fileObj = new File("C:/JavaPractice.txt")
Supposons que nous instancions un objet de classe File comme indiqué ci-dessus avec le chemin d'un fichier et que ce fichier n'existe pas. Dans ce cas, lorsque le compilateur tente de lire ou d'écrire le fichier et trouve une telle situation, il lève une exception et crée une instance de la classe FileNotFoundException. Dans le cas où il n'est pas spécifié quel constructeur doit être appelé, le constructeur sans message d'erreur est renvoyé.
Ainsi, l'application échoue avec l'erreur ci-dessous :
FileNotFoundException est une sous-classe de IOException qui est très utile pour savoir si le fichier spécifié dans le chemin du fichier existe et même accessible. Ainsi, pour l'utiliser, il faut l'instancier, et c'est une classe publique ; il peut être instancié à partir de n'importe où dans le projet. Et pour créer l'instance de la classe dispose de 2 types de constructeurs.
Vous trouverez ci-dessous les deux types de constructeurs :
Ce type de constructeur est utilisé pour créer une instance de la classe FileNotFoundException où il renvoie null comme message détaillé d'erreur.
Syntaxe :
public FileNotFoundException()
Exemple :
FileNotFoundExceptionexcepObj = new FileNotFoundException()
Ce type de constructeur est utilisé pour créer une instance de la classe FileNotFoundException où il renvoie une chaîne spécifiée comme message détaillé d'erreur.
Syntaxe :
public FileNotFoundException(String s)
Exemple :
FileNotFoundExceptionexcepObj = new FileNotFoundException("This is a FileNotFoundException")
Le message d'erreur spécifié peut être facilement récupéré à l'aide de la méthode Throwable.getMessage() puisqu'il s'agit de l'une des superclasses de la classe FileNotFoundException.
Vous trouverez ci-dessous les exemples mentionnés :
Nous voyons ici comment une exception est levée par JVM si un fichier est inaccessible. En cela, le message d'erreur affiché en sortie est celui spécifié par défaut par JVM.
Code :
//package Proc; import java.io.Console; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.PrintWriter; public class prac1 { public static void main(String[] args) { File fileObj = new File("D:/JavaPractice.txt"); FileInputStream fISObj = null; try{ fISObj = new FileInputStream(fileObj); while (fISObj.read()!=-1){ System.out.println(fISObj.read()); } }catch (FileNotFoundException e){ e.printStackTrace(); }catch (IOException e){ e.printStackTrace(); } } }
Sortie :
Dans cet exemple, nous utiliserons le constructeur avec un message d'erreur spécifié pour afficher l'erreur lorsque le fichier n'existe pas au chemin donné. Nous avons utilisé le mot-clé throw pour lever l'exception.
Code :
//package Proc; import java.io.Console; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.PrintWriter; public class prac1 { public static void main(String[] args) throws FileNotFoundException,IOException{ File fileObj = new File("D:/JavaPractice.txt"); if(!fileObj.exists()){ throw new FileNotFoundException("This file doesnot exist in the path specified "+fileObj.toString()); } else { System.out.println("Welcome, we got into file "+fileObj.toString()); } } }
Sortie :
Obtenir une FileNotFoundException dans une application rend une application inefficace. La première étape pour éviter cette exception consiste à vérifier si le fichier spécifié existe au chemin spécifié, mais il peut néanmoins se produire une situation dans les applications en temps réel où le fichier est manquant ou si d'autres processus verrouillent le fichier pour qu'il soit lu. écrivez-y.
Pour éviter cela, on peut utiliser la méthode java.io.File.exists() pour vérifier si le fichier que l'on tente de lire existe ou non sur le chemin spécifié. En utilisant cela, nous devons nous assurer que notre code est capable de gérer l'exception FileNotFoundException.
Pour éviter de tels cas, il faut faire attention si le fichier que nous essayons de lire est actuellement verrouillé par d'autres utilisateurs qui l'écrivent. Pour cela, nous pouvons utiliser les méthodes canRead() ou canWrite() de java.io. Classe de fichier qui indique si le fichier spécifié est disponible ou non à des fins de lecture ou d'écriture.
En utilisant ces 2 mesures de précaution, on peut facilement éviter une tentative par une instance de la classe file d'ouvrir un fichier qui peut entraîner une exception vérifiée. Cela améliore l'efficacité d'une application qui inclut un programme permettant d'accéder aux fichiers à partir d'un chemin spécifié.
FileNotFoundException est un type d'exception vérifiée qui se produit une fois qu'une tentative est effectuée sur le fichier qui n'existe pas ou n'est pas accessible à ce moment-là en raison d'un verrou. Puisqu'il s'agit d'une exception vérifiée, le compilateur Java garantit qu'elle a été gérée au moment de la compilation. Mais quand même, s’il faut l’éviter, ils peuvent utiliser les méthodes exist(), canRead() ou canWrite() présentes dans la classe File.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!