J'ai un projet java qui devrait lire le fichier dans un dossier externe. Je donne le chemin du fichier en tant que '../FolderName' dans la classe. Mais si j'ai généré un fichier jar à partir de ce projet, il ne peut pas lire le fichier. Quelle est la bonne façon de définir le chemin du dossier dans ce genre de situations?Lire un fichier à partir d'un fichier jar, le fichier jar généré en utilisant netbeans
1
A
Répondre
0
La bonne façon de transmettre le chemin absolu à votre code (jar) comme argument de programme.
java -jar myjar.jar abs_path
Vous pouvez alors accéder au chemin absolu dans la méthode principale() de votre classe (mentionné dans le fichier manifest.mf
d'un JAR) comme suit:
String filePath = args[0];
+0
fonctionne pour moi merci :-) –
2
Vous devez utiliser java.lang.Class.getResourceAsStream(String)
. Il lit le fichier à partir de votre JAR
.
Exemple:
InputStream in = getClass().getResourceAsStream("/classpath/to/my/file");
BufferedReader input = new BufferedReader(new InputStreamReader(in));
Un bon Référence: How to read a file from a jar file?
0
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("/classpath/toyourfile");
Vous pouvez fournir un code que vous avez écrit à ce jour, le nom du pot, et peut-être un emplacement à l'intérieur du projet ou système de fichiers . Avez-vous des problèmes avec d'autres jars/zips, ou seulement avec ceux construits dans netbeans? – Javier
[Load Icon Image Exception] (http://stackoverflow.com/q/9864267/1393766) <- règle s'applique à toutes les ressources, pas seulement les images – Pshemo