Fichier text et java

Bonjour,
j'aimerais faire une fonction en java qui utilise un fichier texte. Dans ce fichier texte, j'ai 3 colonnes, et plusieurs lignes. J'aimerais pouvoir lire chaque colonne de chaque ligne pour pouvoir y appliquer ma fonction.
Pourriez-vous m'aider.
Merci d'avance.
Configuration: Linux
Firefox 3.0.3

3 réponses

  1. En fait, pouor m'xprimer plus clairement, j'aimerais remplir un tableau à partir d'un fichier texte contenant n lignes et 3 colonnes.
      1. Moi mon texte en fait contient des entiers.
      2. Contributeur
        @Badaking2Bonsoir,
        Et bien tu récupères le contenu de ton fichier dans une String et tu utilises la méthode Integer.parseInt() pour convertir les éléments en entiers.

        Cordialement,
      3. @Marco la baraqueMon code pour l'instant ressemble à ça mais cela me retourne les erreurs :
        Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
        at PROJET.mat.main(dede.java:27)

        int compt = 0;
        int [][] matrice;

        FileReader fr = new FileReader(args[0]);

        int i;
        int j = 0;
        int lu = fr.read();
        matrice=new int[lu][3];

        for(i=0;i<lu;i++)
        for(j=0;j<3;j++)
        lu = fr.read();
        if (lu != -1)
        matrice[i][j]=lu;

        fr.close();}

        }
      4. Contributeur
        @Badaking2Bonsoir,
        for(i=0;i<lu;i++)
        ...
        lu = fr.read(); 


        Je ne suis pas sûr que java aime ça. Tu devrais créer une variable 'longueurTableauMax' et ne jamais y toucher. Ici tu modifies lu dans tous les sens, ce n'est pas étonnant que tu aies ce genre d'exception.

        Cordialement,
    1. J'ai essayé avec une constante, cela me rend les mêmes erreurs. En fait dans mon fichier texte, la premiere ligne contient le nombre total de lignes, c'est pour ça que je le récupère en premier pour définir la taille de mon tableau.
      1. J'ai modifié le programme, et maintenant j'ai l'erreur : Exception in thread "main" java.lang.NullPointerException
        at PROJET.demandes.main(dede.java:78)

        String temp = null;
        FileInputStream input = null;
        InputStreamReader stream = null;
        LineNumberReader reader = null;
        Vector<Integer> values = new Vector<Integer>();

        try {
        input = new FileInputStream(new File(args[0]));
        stream = new InputStreamReader(input);
        reader = new LineNumberReader(stream);

        while ((temp = reader.readLine()) != null) {
        String[] tempValues = temp.split(" ");
        for (String s : tempValues)
        values.add(Integer.parseInt(s));
        }
        } catch (IOException e) {
        e.printStackTrace();
        } finally {
        try {
        reader.close();
        stream.close();
        input.close();
        } catch (IOException e) {
        e.printStackTrace();
        }
        }

        }
        }