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 )