Salut,

Je dois ecrire un long dans un fichier, et ce long doit tenir au grand max sur 8 octets. Pour diverses raisons, je dois passer par une String pour ecrire les octets dans mon fichier, comme dans le code ci-dessous. Mais au-dela d'une certaine valeur (99.999.999), la String qui represente mon long est codee sur plus de 8 octets. Comment faire pour que la String representant mon long soit codee sur maximum 8 octets ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
long goodValue = 99999999l;
String correctSizeString = String.valueOf(goodValue);
int correctSize = correctSizeString.getBytes().length;
 
long badValue = 100000000;	
String badSizeString = String.valueOf(badValue);
int badSize = badSizeString.getBytes().length;
 
System.out.println("Correctly encoded [" + correctSize + "]");
System.out.println("Wrongly encoded [" + badSize + "]");
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Correctly encoded [8]
Wrongly encoded [9]
Merci.

Nuriel