[JAVA] Lecture dans de fichier de N caractères

Lecture dans de fichier de N caractères [JAVA] - Java - Programmation

Marsh Posté le 13-04-2006 à 11:45:05    

Bonjour,
 
Voilà, j'aimerai lire dans un fichier (ça c'est pas difficile) une séquence de 128 caractères !
C'est à dire que j'aimerai parcourir un fichier et tous les 128 caractères j'aimerai effectué un traitement sur ces 128 caractères jusqu'a la fin du fichier.
Je sais pas si je suis bien claire ? Disons qu'un readLine() ne m'interesse pas car le fichier peut ne jamais avoir de retour à la ligne qui marque la fin pour un readLine(). Un StringTokenizer ne m'interesse pas non plus car ces 128 caractères n'ont pas de séparateur.
Avez-vous une idée ??

Reply

Marsh Posté le 13-04-2006 à 11:45:05   

Reply

Marsh Posté le 13-04-2006 à 12:27:45    

boumchakal a écrit :


Je sais pas si je suis bien claire ?


 
Ben apparemment non, toi c'est boumchakal...
 
 :pfff: OK je sors :pt1cable:
 
Vas faire un tour là : http://java.sun.com/j2se/1.4.2/doc [...] tream.html

Message cité 1 fois
Message édité par brasseld le 13-04-2006 à 12:29:34
Reply

Marsh Posté le 13-04-2006 à 15:42:46    


 
J'y suis déjà ... d'ou mon post ici !
Disons que j'ai quand même cherché avant de demander de l'aide ! (J'aime trouvé tout seul mais la une aide serait la bienvenu)

Reply

Marsh Posté le 13-04-2006 à 15:53:59    

La méthode read() qui prend un tableau de byte en entrée fait ce que tu cherche si tu lui passes un tableau de taille 128.
 
Après il suffit de construire une String avec
 

Code :
  1. while (lecture pas finie) {
  2.   byte[] bloc = new byte[128];
  3.   // remplissage
  4.   input.read(bloc);
  5.   // construction d'une chaine de caractères de 128 de long
  6.   String chaine = new String(bloc);
  7.   // traitement des caractères
  8.   ...
  9. }


Message édité par Bidem le 13-04-2006 à 15:59:00
Reply

Marsh Posté le 13-04-2006 à 15:57:57    

boumchakal a écrit :

J'y suis déjà ... d'ou mon post ici !
Disons que j'ai quand même cherché avant de demander de l'aide ! (J'aime trouvé tout seul mais la une aide serait la bienvenu)


 

Code :
  1. String fileOut = "tonFichierDeSortie.txt";
  2. FileOutputStream fos = new FileOutputStream(fileOut);
  3. InputStream is = item.getInputStream();
  4. byte [] data = new byte [128];
  5. int len = 0;
  6. while(len != -1) {
  7.     len = is.read(data, 0, data.length);
  8.     if(len != -1) {
  9.         fos.write(data, 0, len);
  10.         /* Là tu écris ton espace dans le flux fos */
  11.     }
  12.     fos.flush();
  13. }
  14. /* Je me suis toujours demandé s'il y avait un ordre de fermeture des flux... */
  15. fos.close();
  16. is.close();


Reply

Marsh Posté le 13-04-2006 à 17:32:36    

Merci à vous deux pour vos réponces,
J'essai de me débrouiller avec ça !

Reply

Marsh Posté le 14-04-2006 à 08:12:46    

De toute maniére, c'est soit tu te débrouilles avec ça, soit tu ne fais rien..

Reply

Sujets relatifs:

Leave a Replay

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