Maison > Java > javaDidacticiel > Comment puis-je accéder aux ressources intégrées dans un fichier JAR en Java ?

Comment puis-je accéder aux ressources intégrées dans un fichier JAR en Java ?

Patricia Arquette
Libérer: 2024-12-13 08:15:12
original
146 Les gens l'ont consulté

How Can I Access Resources Embedded within a JAR File in Java?

Accès aux ressources dans un fichier JAR à l'aide de Java

Lorsque vous travaillez avec des fichiers JAR, il peut être nécessaire de récupérer les chemins d'accès aux ressources intégrées. Cependant, tenter d'obtenir un chemin à l'aide de techniques telles que :

ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("config/netclient.p").getFile());
Copier après la connexion

peut générer une erreur indiquant que le fichier spécifié est introuvable. Ce comportement est inhérent à la structure des fichiers Java JAR.

La raison de ce résultat est que les ressources contenues dans les JAR ne sont pas nécessairement disponibles sous forme de fichiers individuels sur le système de fichiers. Ils peuvent être compressés ou stockés dans l'archive d'une manière qui rend impossible l'accès direct au système de fichiers.

De plus, s'appuyer sur un fichier java.io.File pour l'accès aux ressources n'est peut-être pas l'approche la plus efficace ou la plus portable. . Envisagez plutôt les options suivantes :

  • Utilisation d'un chemin de ressource de chemin de classe : Spécifiez le chemin d'accès à la ressource en tant qu'entrée de chemin de classe, par exemple :
classLoader.getResource("config/netclient.p")
Copier après la connexion

Cette approche donne accès au flux de ressources mais ne fournit pas de fichier chemin.

  • Extraire temporairement la ressource : Si un chemin de fichier est absolument essentiel, extrayez la ressource vers un emplacement temporaire en utilisant :
InputStream in = classLoader.getResourceAsStream("config/netclient.p");
FileOutputStream out = new FileOutputStream(new File("tmp/" + fileName));
Copier après la connexion

Cela vous permet de créer une version fichier de la ressource dans le répertoire temporaire désigné.

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