Accès au fichier XML dans un fichier JAR à partir d'une application de bureau Java
Dans ce scénario, vous tentez d'accéder à un fichier XML dans un Fichier JAR à partir d’un JAR distinct exécuté en tant qu’application de bureau. Pendant que vous avez réussi à obtenir l'URL du fichier, sa transmission à un FileReader à l'aide d'une chaîne entraîne une exception FileNotFoundException.
Cependant, vous avez pu lire les ressources d'image du même JAR en utilisant l'URL avec une ImageIcon. constructeur. Cela indique que la méthode que vous utilisez pour obtenir l'URL est correcte.
URL url = getClass().getResource("/xxx/xxx/xxx/services.xml"); // ...
Le problème survient lors de la tentative d'analyse du fichier XML :
XMLReader xr = XMLReaderFactory.createXMLReader(); xr.setContentHandler( this ); xr.setErrorHandler( this ); xr.parse( new InputSource( new FileReader( filename )));
Solution :
La méthode incorrecte pour lire le fichier XML utilise new FileReader( filename ). Pour remédier à ce problème, utilisez la méthode java.lang.Class.getResourceAsStream(String). Il fournit un InputStream pour la ressource spécifiée par le nom, vous permettant de lire le fichier XML.
URL url = getClass().getResourceAsStream("/xxx/xxx/xxx/services.xml"); // ...
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!