Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1365 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] Lecture de fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVA] Lecture de fichier

n°894064
korben
Posté le 09-11-2004 à 11:07:24  profilanswer
 

Hello
Je dois lire, très rapidement, un fichier en java. Ce fichier comporte par exemple 3 colonnes, séparées par des tabulations, chaque colonne contenant une valeur. J'aimerais pouvoir lire ce fichier et le charger dans un tableau. Par exemple un tableau en 4dimension:
tab[ligne][val_col1][val_col2][val_col3]
Qqn sait-il comment je peux faire cela de manière facile et rapide?
D'avance merci

mood
Publicité
Posté le 09-11-2004 à 11:07:24  profilanswer
 

n°894096
JAVA ALIVE
Café only
Posté le 09-11-2004 à 11:31:30  profilanswer
 

FileInputStream est ton ami.

n°894122
the real m​oins moins
Posté le 09-11-2004 à 11:48:50  profilanswer
 

ouais bah, FileReader, déjà, plutot.

n°894124
uriel
blood pt.2
Posté le 09-11-2004 à 11:51:46  profilanswer
 

+1 avec -- et avec un BufferedReader  


---------------
IVG en france
n°894148
the real m​oins moins
Posté le 09-11-2004 à 12:12:46  profilanswer
 

(et euh, ça serait pas plutot un tableau à 2 dimensions qu'il nous fait là ? [:itm])

n°894266
korben
Posté le 09-11-2004 à 14:17:18  profilanswer
 

BufferedReader  in = new BufferedReader(new FileReader("file.txt" ));
String line;
String[] temp;
int index=0;
while ((line=in.readLine()) != null){  
        temp=line.split("\\t" );        
        for (int i=0; i<temp.length; i++){
            v[index++]=temp[i]);
        }
}  
in.close();

 
J'ai pas trouvé plus simple

n°894282
phnatomass
Je m'empare de ton esprit !!
Posté le 09-11-2004 à 14:28:20  profilanswer
 

Ton tableau v, il fait quelle taille ?
Il faut passer par une List quelconque plutot.

n°894291
korben
Posté le 09-11-2004 à 14:34:07  profilanswer
 

Oui. C'est un exemple de base que j'ai montré.
Le problème ensuite, c'est celui-ci: http://forum.hardware.fr/hardwaref [...] 9823-1.htm
Merci

n°940252
Le Veilleu​r
Posté le 07-01-2005 à 14:27:57  profilanswer
 

korben a écrit :

BufferedReader  in = new BufferedReader(new FileReader("file.txt" ));
String line;
String[] temp;
int index=0;
while ((line=in.readLine()) != null){  
        temp=line.split("\\t" );        
        for (int i=0; i<temp.length; i++){
            v[index++]=temp[i]);
        }
}  
in.close();

 
J'ai pas trouvé plus simple


 
J'utilise ta méthode pour lire mon fichier, j'ai fait une méthode, je dois juste lire une ligne
 

Code :
  1. //Permet de lire le solde de la caisse dans le fichier fond.txt     
  2.   public double lireFond() throws IOException
  3.      {
  4.       String ligne;
  5.      
  6.    
  7.       BufferedReader entree = new BufferedReader(new FileReader("fond.txt" ));
  8.       ligne = entree.readLine();
  9.      
  10.       if(ligne != null)
  11.         return Double.parseDouble(ligne);
  12.       else
  13.         return 0;
  14.    
  15.      }


 
Le truc c'est que lorsque je veux utiliser cette méthode, j'ai un beau

Citation :

unreported exception java.io.IOException; must be caught or declarad to be thrown


 
???
 
merci


---------------
Mon Blog : LeVeilleur.net | Hébergement d'images : Hostipics.net
n°940453
glod 2
Votre trajet, notre projet.
Posté le 07-01-2005 à 16:50:08  profilanswer
 

Il faut que tu traites l'exception dans les méthodes appelantes aussi.

mood
Publicité
Posté le 07-01-2005 à 16:50:08  profilanswer
 

n°940487
Le Veilleu​r
Posté le 07-01-2005 à 17:19:46  profilanswer
 

Glod 2 a écrit :

Il faut que tu traites l'exception dans les méthodes appelantes aussi.


merci, c'était bien ca :jap:


---------------
Mon Blog : LeVeilleur.net | Hébergement d'images : Hostipics.net
n°948976
Le Veilleu​r
Posté le 08-01-2005 à 11:28:48  profilanswer
 

J'ai encore un fameux problemes avec les fichiers :S C'est vrai que pour le java, je me suis fort basé sur mon bouquin
 
J'ai donc une classe contenant l'interface graphique, avec boutons et etc, je crée un bouton de cette manière
 

Code :
  1. //Boutton enregistrer
  2.        enregistrerB = new JButton("Enregistrer" );
  3.        contenu.add(enregistrerB);
  4.        EcouteBouton ecout3 = new EcouteBouton(3);
  5.        enregistrerB.addActionListener(ecout3);


 
le numero, 3 ici, va me permettre d'identifier le bouton dans ma classe  
 

Code :
  1. class EcouteBouton implements ActionListener
  2.   {
  3.    public EcouteBouton(int n)
  4.    {this.n=n;}
  5.  
  6.  
  7.    public void actionPerformed (ActionEvent ev)
  8.      {
  9.       System.out.println("Action Bouton "+ n);
  10.      
  11.       //On connait le bouton sur lequel on a cliqué
  12.      
  13.       switch(n)
  14.       {
  15.        //Bouton Exit
  16.        case 4 : System.exit(0); break;
  17.      
  18.        //Enregistrement
  19.        case 3 :    operation tmp;
  20.                  tmp = new operation(factureT.getText(),dateT.getText(),designationT.getText(),typeC.getSelectedIndex(),paiementC.getSelectedIndex(),Double.parseDouble(montantT.getText()));
  21.                  vecOp.ajout(tmp);
  22.                  soldeL.setText("                                      En ce moment dans la caisse, il y a : "+vecOp.getTotalCaisse()+" Euro" );             
  23.                
  24.                
  25.                
  26.                
  27.                  recDep.setText("Les recettes sont de : "+vecOp.totalRecette()+"           Les depenses sont de : "+vecOp.totalDepense());
  28.                  mouvJour.setText("Mouvement du jour : "+vecOp.mouvJour());
  29.                  vecOp.enregistrerFichier();
  30. clear();
  31.                  break;                       }
  32.      
  33.      
  34.      
  35.    
  36.    
  37.       }
  38.       private int n;
  39.  
  40.  
  41.     }
  42.  
  43.    
  44. }


Grace à ces numeros, je sais sur quel bouton j'ai cliqué, et a partir de la, je crée mes objets, et j'utilise leur méthode.
 
Le probleme c'est que dans le case 3, j'ai cette méthode   vecOp.enregistrerFichier(); qui fait donc un enregistrement fichier. lorsque je compile j'ai constament cette erreur
 

Code :
  1. unreported exception java.io.IOException; must be caught or declarad to be thrown


 
Alors je me suis dit que si je déclarrais ma classe

Code :
  1. class EcouteBouton implements ActionListener


 
comme ceci
 

Code :
  1. class EcouteBouton implements ActionListener throws IOException


 
que ce allait marcher, mais non, là il me demande des {} qui n'ont rien avoir dans l'histoire.
 
je suis un peu perdu là
 
un grand merci


---------------
Mon Blog : LeVeilleur.net | Hébergement d'images : Hostipics.net
n°948978
Le Veilleu​r
Posté le 08-01-2005 à 11:36:57  profilanswer
 

Et si je fais ca

Code :
  1. public void actionPerformed (ActionEvent ev) throws IOException


 
ce qui est bcp plus logique, j'ai ca comme erreur

Citation :

actionPerformed(java.awt.event.ActionEvent)in EsiFrame.EcouteBouton cannot implement actionPerformed(java.awt.event.ActionEvent)in java.awt.event.ActionListener; overridden method doers not throw java.IOException


 
C'est vraiment le dernier probleme que j'ai, apres je pourrais finir ce projet :S
 
merci


---------------
Mon Blog : LeVeilleur.net | Hébergement d'images : Hostipics.net
n°948998
benou
Posté le 08-01-2005 à 11:52:44  profilanswer
 

faudrait vraiment que tu te documentes sur les exceptions et la bonne façon de les gérer ...
La bonne question à se poser c'est "qu'est ce que tu fais si y a une exception qui se produit pendant l'enregistrement de ton fichier ?"
 
là dans le cas 3 il faut que tu entoures les méthodes succeptibles de cracher la IOException d'un bloc try, suivit d'un bloc catch(IOException) qui contient ce qu'il y a à faire dans le cas d'une erreur pdt l'écriture du fichier.


---------------
ma vie, mon oeuvre - HomePlayer
n°949004
Le Veilleu​r
Posté le 08-01-2005 à 11:58:27  profilanswer
 

oui je sais :S je fais le boolay, mais je suis vraiment à le bourre... j'ai commencé le java y a deux jours, avec que mon livre comme cours.
 
Donc avec, ce que tu vois de me dire, il serait logique de faire ceci
 

Code :
  1. try{
  2.          File monFichier =new File("operations.txt" );
  3.      monFichier.createNewFile();
  4.     }
  5.  catch (IOException e)
  6.      {
  7.      System.out.println("erreur dans: " + e);
  8.      }


 
Ce qui resoudrait mon probleme ;)
 
je vais tester
 
merci


Message édité par Le Veilleur le 08-01-2005 à 11:58:38

---------------
Mon Blog : LeVeilleur.net | Hébergement d'images : Hostipics.net
n°949064
benou
Posté le 08-01-2005 à 12:42:21  profilanswer
 

faut que tu mettes dans le try ce qui peut générer l'exception que tu veux traiter [:spamafote]
 
le méchanisme d'exception est fait pour s'assurer qu'un programme ne va pas planter à cause d'un comportement innatendu. => ton prog ne compile pas si tu ne "gères" pas correctement ces comportements innatendus. Ca t'oblige à les gérer.
 
Après y a ceux qui faont des "catch(Exception e) {}" pour que le compilo arrpete de gueuler mais bon, là on peut se dire qu'il cherchent vraiment à avoir un programme pas stable ...


---------------
ma vie, mon oeuvre - HomePlayer
n°951635
korben
Posté le 12-01-2005 à 14:10:09  profilanswer
 

De manière globale et simplifiée, il y a 2 manières de gérer les exceptions:
1) Tu renvoies l'erreur plus loin, à celui qui a appelé ta méthode (throws exception)
2) Tu la traites directement dans ta méthode, avec un try/catch.
 
Mais effectivement, dans les 2 cas, il faut savoir ce que tu risques d'avoir comme erreur et donc savoir si cela vaut la peine de faire qqch de très propre, traitant les exceptions, ou si un simple message d'erreur suffit.

n°951656
the real m​oins moins
Posté le 12-01-2005 à 14:33:31  profilanswer
 

benou a écrit :

faudrait vraiment que tu te documentes sur les exceptions et la bonne façon de les gérer ...


on va meme commencer par "ce qu'est une exception" et "un poil de syntaxe java pour bien débuter", parce que une clause throws sur une declaration de classe, c'est pas gagné :sweat:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] Lecture de fichier

 

Sujets relatifs
[Java] solution EJB fonctionnant comme un triggerEmbarquer JRE dans applet Java 3D
Recherche : Editeur RTF en applet java[java] pb de lecture de fichier texte
[java pour les nuls] question gratuite sur la lecture d'un fichier[JAVA] problème de lecture de fichier
Problème de lecture de fichier avec java[Java-XML] Arret de lecture d'un fichier XML avec un parser SAX
[JAVA] Probleme lecture fichier texte[JAVA] Lecture d'un fichier texte
Plus de sujets relatifs à : [JAVA] Lecture de fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR