Java : Problème affichage à partir d'un dossier txt

Java : Problème affichage à partir d'un dossier txt - Java - Programmation

Marsh Posté le 23-05-2016 à 17:29:17    

Bonjour à tous,

 

J'ai un petit problème avec mon programme.
Celui-ci doit dans un premier temps afficher une liste de nombre contenue dans un fichier.txt, donc à la base j'ai bien récupéré mon fichier.
Ensuite je dois l'afficher, voici comment j'ai procédé(ce n'est qu'un petit bout du code) :

 

String filename = file ;
   
         BufferedReader bufferedReader = new BufferedReader(new FileReader(filename));
   System.out.println("Fichier lu "+ filename);
   int col ;
   int lign=0 ;
   String line ;
   line = bufferedReader.readLine();
   
   String [] Lecture= line.trim().split(" " );
   int [] [] matrice= new int [Lecture.length] [Lecture.length];

 

         while(line  != null)
             {

 

             for (col=0 ; col< Lecture.length ; col++)
              {
               matrice [lign] [col]= Integer.parseInt(Lecture[col]);
             
              }
              lign++ ;
              line = bufferedReader.readLine();
              if(line!=null)
              Lecture= line.trim().split(" " );
             }  
             bufferedReader.close();

 

    return matrice;
 }
 

 

IL y a manifestement un problème avec cette étape mais je ne comprends pas où se situe mon erreur.

 

Voilà ce que ça donne quand j'essaie de compiler :

 


Exception in thread "main" java.lang.Error: Unresolved compilation problem:
 The method parseInt(String) in the type Integer is not applicable for the arguments (String[])

 

at projet.PPtst.ReadFile(PPtst.java:185)
 at projet.PPtst.main(PPtst.java:12)

 

J'espère que vous saurez m'aider...
Merci !


Message édité par Doudi1010 le 23-05-2016 à 17:30:07
Reply

Marsh Posté le 23-05-2016 à 17:29:17   

Reply

Marsh Posté le 23-05-2016 à 18:54:22    

Tu pourrais faire un effort et mettre ton code dans les balises prévues à cet effet. De plus je te recommande d'utiliser un bloc try/catch quand il s'agit de faire des conversions. Tu nous montres d'ailleurs pas ton fichier txt. Et le titre de ta question est très dérangeant.

Reply

Marsh Posté le 24-05-2016 à 09:45:02    

Bonjour,
 
Il y a plusieurs erreurs dans ton code, et celui-ci est plus écrit "à la mode" C que Java. Je ne vais pas tout détailler, en voici une version corrigée que je te laisse lire, et n'hésite pas à poser des questions si tu ne comprends pas certains points ;)
 

Code :
  1. public static void main(String... args) throws IOException {
  2.         String filename = "C:\\Users\\…\\Desktop\\tests.txt";
  3.         BufferedReader bufferedReader = null;
  4.         ArrayList<ArrayList<Integer>> matrix = new ArrayList<ArrayList<Integer>>();
  5.         try {
  6.             bufferedReader = new BufferedReader(new FileReader(filename));
  7.             System.out.println("Fichier lu " + filename);
  8.             int lign = 0;
  9.             String line = bufferedReader.readLine();
  10.             String[] lecture = line.trim().split(" " );
  11.             while (line != null) {
  12.                 ArrayList<Integer> matrixLine = new ArrayList<Integer>();
  13.                 for (String numberAsStr : lecture) {
  14.                     matrixLine.add(Integer.parseInt(numberAsStr));
  15.                 }
  16.                 matrix.add(matrixLine);
  17.                 lign++;
  18.                 line = bufferedReader.readLine();
  19.                 if (line != null) {
  20.                     lecture = line.trim().split(" " );
  21.                 }
  22.             }
  23.         } catch (IOException e) {
  24.             System.err.println("Erreur lors de la lecture du fichier" );
  25.             e.printStackTrace();
  26.         } catch (NumberFormatException e) {
  27.             System.err.println("Erreur lors de la conversion de données" );
  28.             e.printStackTrace();
  29.         } finally {
  30.             bufferedReader.close();
  31.         }
  32.         // Afficher le contenu de la matrice obtenue
  33.         System.out.println("Données lues :" );
  34.         for (ArrayList<Integer> matrixLine : matrix) {
  35.             for (Integer number : matrixLine) {
  36.                 System.out.print(number + " " );
  37.             }
  38.             System.out.print("\r\n" );
  39.         }
  40.     }


Message édité par zerist le 24-05-2016 à 09:46:41

---------------
https://www.flickr.com/photos/182924845@N04/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed