Accéder au fichier dans le fichier jar?
J'ai besoin d'être en mesure d'accéder à un fichier stocké dans la compilation d'un fichier jar. J'ai compris comment faire pour ajouter le fichier au projet, mais comment pourrais-je y faire référence dans le code? Comment pourrais-je copier un fichier à partir du fichier jar à un emplacement sur le disque dur de l'utilisateur? Je sais qu'il y a des dizaines de façons d'accéder à un fichier (FileInputStream, FileReader, ect.), mais je ne sais pas comment faire pour regarder à l'intérieur de lui-même.
source d'informationauteur LRFLEW
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser quelque chose comme ceci:
InputStream is = this.getClass().getClassLoader().getResourceAsStream(fileFromJarFile);
Si foo.txt a été à la racine de votre fichier JAR, vous pouvez utiliser:
InputStream is = this.getClass().getClassLoader().getResourceAsStream("foo.txt");
suppose la classe est dans le même fichier JAR de la ressource, je crois.
Vous pouvez lire le contenu d'un fichier JAR à l'aide de la Jarfiles classe.
Voici un exemple de comment vous pouvez obtenir un fichier spécifique à partir d'un fichier JAR, et l'extraire:
Vous pouvez utiliser getResource() pour obtenir une URL pour un fichier sur le chemin de la classe, ou getResourceAsStream() pour obtenir un InputStream à la place.
Par exemple:
Regarder la Jarfiles classe. Tout ce dont vous avez besoin pour obtenir de l'InputStream d'une entrée spécifique dans le fichier jar est là.
Voulais juste ajouter que si nous voulons accéder à un fichier à l'intérieur d'un Bocal qui est située au chemin suivant:
Devrez utiliser le code suivant(attention, il y a PAS "/"(barre oblique) personnage au début du chemin d'accès):