Maison > Java > javaDidacticiel > Comment puis-je obtenir un chemin de fichier vers une ressource dans un fichier Java JAR ?

Comment puis-je obtenir un chemin de fichier vers une ressource dans un fichier Java JAR ?

Susan Sarandon
Libérer: 2024-12-09 16:58:14
original
460 Les gens l'ont consulté

How Can I Get a File Path to a Resource Inside a Java JAR File?

Obtention d'un chemin d'accès aux ressources dans un fichier JAR Java

Question :

Récupération d'un Le chemin d'accès à une ressource (par exemple, un fichier de configuration) dans un fichier JAR s'est révélé infructueux. Les tentatives d'utilisation du chargeur de classe avec getResourceAsStream() et getFile() génèrent des exceptions ou un chemin référençant le fichier JAR lui-même. Est-il possible d'obtenir un chemin de fichier valide ?

Réponse :

Récupérer un chemin de fichier vers une ressource dans un fichier JAR est intrinsèquement difficile en raison des limitations potentielles du chargeur de classe. Les fichiers JAR contiennent souvent des ressources qui ne sont pas physiquement présentes en tant que fichiers individuels sur le système de fichiers.

L'accès au contenu d'une ressource est possible via classLoader.getResourceAsStream(), qui renvoie un flux d'entrée pour lire le contenu de la ressource. Cependant, tenter de le convertir en fichier avec getFile() peut entraîner une exception car la ressource peut ne pas avoir de chemin de fichier correspondant.

Si un descripteur de fichier est absolument essentiel, il est recommandé de créer un descripteur de fichier temporaire. fichier, copiez-y le contenu de la ressource, puis utilisez le chemin du fichier temporaire. Cette approche alternative garantit la disponibilité d'un chemin de fichier valide.

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