Bonjour,
j'ai voulu faire deux petites fonctions qui lisent et écrivent des byte dans un fichier au format ASCII :
- Ecriture :
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 DataOutputStream sortie = new DataOutputStream(new FileOutputStream(Nom)) ; byte[] Octets = new byte[256] ; for (int i=0 ; i < 256 ; i++) Octets[i] = (byte)i ; sortie.write((new String(Octets, "ASCII")).getBytes("ASCII")) ;
- Lecture
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Scanner entree = new Scanner(new FileInputStream(Nom)) ; byte[] Octets = null ; while ( entree.hasNextLine() ) { Octets = entree.nextLine().getBytes("ASCII") ; for (int i=0 ; i < Octets.length ; i++) System.out.print(Octets[i] + " ") ; System.out.println() ; }
Ca fonctionne pour des valeurs comprise sur [0, 127], mais pour toutes les autres valeurs, ça me renvoit 63.
Est ce que quelqu'un pourrait m'expliquer pourquoi ???
Merci par avance... (j'en ai VRAIMENT besoin)
Partager