Maison > Java > javaDidacticiel > Comment accéder à un fichier XML intégré dans un JAR à partir d'une application de bureau Java ?

Comment accéder à un fichier XML intégré dans un JAR à partir d'une application de bureau Java ?

Barbara Streisand
Libérer: 2024-12-06 21:12:20
original
361 Les gens l'ont consulté

How to Access an XML File Embedded in a JAR from a Java Desktop Application?

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");
// ...
Copier après la connexion

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 )));
Copier après la connexion

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");
// ...
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal