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

  FORUM HardWare.fr
  Programmation
  Java

  [java][Resolu] Probleme lecture de fichier

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[java][Resolu] Probleme lecture de fichier

n°1003724
nlc
Le mieux est l'ennemi du bien
Posté le 07-03-2005 à 16:12:53  profilanswer
 

Bonjour a tous.
 
Je suis en train d'ecrire dans lequel je me suis apercu d'un probleme, qui vient en fait de la lecture d'un fichier binaire. Pour simuler le probleme, j'ai crée un petit exemple :
 
public static void main(String[] args) {
 System.out.println( "Coucou" );
 try {
  BufferedReader entree = new BufferedReader ( new FileReader( "licence.cfg" ));
  System.out.println ( "Lecture du fichier " );  
 
  while ( entree.ready() ) {
   char c = (char)(entree.read()&0xFF);
   System.out.print( Integer.toHexString( c ) + " " );
  }
   
  entree.close ();
 } catch ( IOException e) {
  System.out.println (e.getMessage ());
 }
 
Le fichier licence.cfg est un fichier que j'ai crée pour les tests, c'est un fichier binaire qui comprend 256 octets, de 0 a 255.
 
Lorsque je lance le programme, il est donc censé m'afficher une suite de valeurs hexadecimales de 0 a FF.
 
Et bien en fait, certaine valeurs ne passent pas, ou sont mal lues, car j'obtiens cela :
 
0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3 ac a5 60 a7 61 a9 aa ab ac ad ae af b0 b1 b2 b3 7d b5 b6 b7 7e b9 ba bb 52 53 78 bf c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff
 
Au lieu de A4 j'ai AC, au lieu de A6 j'ai 60, au lieu de A8 j'ai 61, au lieu de B4 j'ai 7D, et il y'en a d'autres.
 
D'apres vous ca vient d'ou ?
 
Bonne journée a tous


Message édité par nlc le 08-03-2005 à 10:47:18
mood
Publicité
Posté le 07-03-2005 à 16:12:53  profilanswer
 

n°1004114
post_it
Hmmmm!...
Posté le 07-03-2005 à 21:49:03  profilanswer
 

Hello !  
 
Je crois que la classe BufferedReader est plutôt utilisée pour les fichiers textes, et ton problème vient du fait que tu lis un fichier binaires : certains caractères spéciaux sont donc interprétés et modifiés.
 
Tu devrais essayer plutôt essayer de lire ton fichier avec FileInputStream.
 
A+

n°1004539
nlc
Le mieux est l'ennemi du bien
Posté le 08-03-2005 à 10:46:14  profilanswer
 

Merci !! En effet c'etait bien le probleme.
En faisant comme ca ca marche niquel :
 
  try {
   FileInputStream fr = new FileInputStream(this);
         BufferedInputStream br = new BufferedInputStream( fr );
 
   // Lecture dans monFichier.txt
         System.out.println ( "Lecture du fichier" );  
 
   while ( br.available() != 0 ) {
    char c = (char)(br.read()&0xFF);
    //System.out.print( Integer.toHexString( c ) + " " );
    maString += c;  
   }
 
   br.close ();
 
         System.out.println ( "Le fichier lu contient " + maString.length() + " octets" );  
  } catch ( IOException e) {
   System.out.println (e.getMessage ());
   maString = "";
  }
 
 
Merci encore !

n°1004540
niouts
Forums => Entre-Aide !!
Posté le 08-03-2005 à 10:47:17  profilanswer
 

+1
Tiens nous au courant ! :)
 
Edit : Désolé, pas assez rapide !  :lol:


Message édité par niouts le 08-03-2005 à 10:47:46

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

  [java][Resolu] Probleme lecture de fichier

 

Sujets relatifs
Quels logiciels pour creer Fichier/Edition/Affichage...?PROBLEME REQUETE: SELECT nom FROM (plusieur table)
Ecrire le contenu d'une structure dans un fichier[lex/yacc] Probleme pas logique
[Java] Console dans une JInternalFrame[RESOLU]PHP-LDAP fonction ldap-rename
Problème résolution équation sous Matlab[VB] Problème syntaxe fin de ligne
Probleme de validité des stats avec mystats vs direct-statslire un fichier wav
Plus de sujets relatifs à : [java][Resolu] Probleme lecture de fichier


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