Transformation d'hexa en caractère dans une lecture de fichier

Transformation d'hexa en caractère dans une lecture de fichier - Java - Programmation

Marsh Posté le 23-10-2002 à 15:37:33    

Bonjour,
J'ai un problème ... vous vous en doutiez :)  
Je lis un fichier et je veux récupérer un caractère précis.
Le problème est que j'ai la valeur décimale ou hexa ...
Avez-vous une solution pour obtenir un type char ?
Petit bout de code ...
 
                FileInputStream inHex = new FileInputStream(new File(pathOrdre));
                int  octet;
                int i=0;
                while ((octet = inHex.read()) != -1 && (i<50)) {
                    System.out.println("*"+octet+"*" + Integer.toHexString(octet);
                    i++;
                }
                inHex.close();


---------------
Evite les personnes arrogantes et vulgaires, elles sont un tourment pour l'esprit.
Reply

Marsh Posté le 23-10-2002 à 15:37:33   

Reply

Marsh Posté le 23-10-2002 à 16:26:11    

Bin dans la classe Integer, t'as une fonction byteValue(). A partir de là, tu fabriques le caractère que tu veux. Exemple :

Code :
  1. Integer i = new Integer(65);
  2. byte[] b = new byte[1];
  3. b[0] = i.byteValue();
  4. String s = new String(b);
  5. System.out.println(s);


 
Bon, j'me complique peut-être un brin la vie, m'enfin c'est l'idée.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 23-10-2002 à 16:36:03    

Taiche a écrit a écrit :

Bin dans la classe Integer, t'as une fonction byteValue(). A partir de là, tu fabriques le caractère que tu veux. Exemple :

Code :
  1. Integer i = new Integer(65);
  2. byte[] b = new byte[1];
  3. b[0] = i.byteValue();
  4. String s = new String(b);
  5. System.out.println(s);


 
Bon, j'me complique peut-être un brin la vie, m'enfin c'est l'idée.




Je te remercie.
Je viens de trouver la solution en lisant directement des bytes
 
                byte [] data=new byte[1];
                while ((inHex.read(data)) != -1 && (i<50)) {
                    String s = new String(data);
                    System.out.println("*"+s+"*" );
                    i++;
                }


---------------
Evite les personnes arrogantes et vulgaires, elles sont un tourment pour l'esprit.
Reply

Sujets relatifs:

Leave a Replay

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