Rechercher dans un fichier dans le .jar

Knux -  
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

1 réponse

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    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;
    }
    0