Maison >Java >javaDidacticiel >Comment charger correctement les ressources à partir d'un fichier Jar ?

Comment charger correctement les ressources à partir d'un fichier Jar ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-06 01:14:02239parcourir

How to Load Resources Correctly from a Jar File?

Les ressources ne se chargent pas correctement à partir du fichier Jar

Lors du chargement des ressources, si une application est exécutée à partir d'un IDE, le chemin d'accès à la ressource peut être différent de celui lorsqu'elle est exécutée à partir de un fichier jar. Cela peut causer des problèmes si l'application s'appuie sur le chemin de fichier spécifique.

Une façon de résoudre ce problème consiste à utiliser getResourceAsStream au lieu de getResource. getResourceAsStream renvoie un InputStream, qui peut être utilisé pour lire les données de la ressource sans avoir à gérer le chemin du fichier.

Une autre option consiste à extraire la ressource dans un fichier temporaire avant de l'utiliser. Cela peut être fait en utilisant la méthode Files.copy.

Cependant, il est important de noter que certains codes peuvent reposer sur le fait que les données se trouvent dans un seul fichier physique dans le système de fichiers. Dans ce cas, regrouper la ressource dans un fichier jar peut ne pas être une option.

Exemple de code :

InputStream inputStream = WinProcessor.class.getResourceAsStream("repository");
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
while ((line = reader.readLine()) != null) {
  // Do something with the line
}
reader.close();

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!

Déclaration:
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