[Java] récupérer des donnée à partir d'1 .txt

Résolu
Bonjour,
je suis débutant en java et j'aimerai savoir comment faire pour lire des données a partir d'un fichier texte.

Enfaîte j'ai fichier read.txt avec des valeur suivante
/***************************************
! Donnée du problème :
N : 40
M : 5
Pij : [130,.....,97,175,114]

Ti : [939,1025,1009,1111,931]
Wj : [3,5,1,9,4,10,9,....1,1,2,8,6,10,7,7,9,9,3,9,5]
/***************************************

je voudrai recupérer les valeur de N, M, Pij, Ti, Wj

int N;
int M;
int [][] Pij;
int []Ti;
int []Wj;

Merci

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut

    La classe FileReader peut être utilisée pour lire le contenu.
    Son utilisation est simple mais elle est souvent utilisée avec une autre classe qui t'aidera a lire ton fichier plus simplement : la classe BufferedReader

    Tu peux donc créer un BufferedReader à utiliser sur un FileReader :

    BufferedReader buffer = new BufferedReader(new FileReader("read.txt"));


    Il faudra récupérer les exceptions de type FileNotFoundException donc tu obtiendras :

      BufferedReader buffer = null;  
      try {  
       buffer = new BufferedReader(new FileReader("read.txt"));  
       }  
     catch(FileNotFoundException exc) {  
     System.out.println("Fichier introuvable");  
       }  
    


    Maintenant que ton buffer est prêt, il n'y a plus qu'à lui demander de lire les lignes du fichier jusqu'à la fin et d'appliquer ton traitement
      String ligne;  
      while ((ligne = buffer.readLine()) != null) {  
            // Ici ton traitement pour sauvegarder, en fonction du premier caractère de cette ligne, la valeur dans la variable qui va bien.  
            // Je te conseille l'utilisation de la classe Stringtokenizer ou bien de la methode String.split("...") pour découper et récupérer séparément les morceaux de chaque ligne que tu traites.  
            System.out.println(ligne);  
       }  
       // n'oublies pas de fermer ton buffer quand tu as fini  
        lecteurAvecBuffer.close();  
    
    1. Merci poukkid