Rechercher dans un fichier dans le .jar
Knux
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
Je suis en train de coder un mod pour un jeu, mais lors du démmarage de ce dernier, je cherche à lui faire lire et rechercher dans les lignes d'un fichier TXT. Le problème est que je dois utiliser un InputStream et que je ne comprend pas par rapport à File. J'ai déjà posé une question similaire où l'on m'a repondu, mais c'était pour un fichier hors du .jar ...
http://www.commentcamarche.net/forum/affich-25399688-rechercher-dans-un-fichier-en-java
Je cherche à faire la même chose mais dans le .jar
Voici mon code : http://dl.dropbox.com/u/7560728/needhelp.txt
Cela marche très bien pour 'serverName' puisqu'il est situé tout en haut du fichier, mais pour serverIp, il n'arrive pas à le lire...
Merci d'avance, Knux14
Je suis en train de coder un mod pour un jeu, mais lors du démmarage de ce dernier, je cherche à lui faire lire et rechercher dans les lignes d'un fichier TXT. Le problème est que je dois utiliser un InputStream et que je ne comprend pas par rapport à File. J'ai déjà posé une question similaire où l'on m'a repondu, mais c'était pour un fichier hors du .jar ...
http://www.commentcamarche.net/forum/affich-25399688-rechercher-dans-un-fichier-en-java
Je cherche à faire la même chose mais dans le .jar
Voici mon code : http://dl.dropbox.com/u/7560728/needhelp.txt
Cela marche très bien pour 'serverName' puisqu'il est situé tout en haut du fichier, mais pour serverIp, il n'arrive pas à le lire...
Merci d'avance, Knux14
1 réponse
-
Tu devrais modifier cette ligne :
InputStreamReader fichier = new InputStreamReader(getClass().getClassLoader().getResourceAsStream("config.txt"));
Par celle-ci :
InputStream fichier = ClassLoader.getSystemResource("config.txt").openStream();
Par contre tu devrais supprimer cette variable globale "fichier" en l'intégrant directement dans ta méthode "getConfig"
public String getConfig(String file) { Scanner sc = new Scanner(ClassLoader.getSystemResource("config.txt").openStream()); while (sc.hasNextLine()) { String ligne = sc.nextLine(); if(ligne.startsWith(file)) { System.out.println("Read: " + ligne); sc.close(); return ligne; } } sc.close(); return file; }