IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Fichier binaire to Hexa String


Sujet :

Entrée/Sortie Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 49
    Points : 29
    Points
    29
    Par défaut Fichier binaire to Hexa String
    Bonjour à tous,

    je cherche à écrire dans une String les bytes contenus dans un fichier binaire.

    Typiquement si il s'agit d'un fichier texte, le contenu 1234 avec un retour à la ligne à la fin, obtenir la String 313233340D0A

    De fait, je tente de lire un fichier binaire (style une image), mais la conversion que j'ai écrite ne se déroule pas bien du tout. Le retours à la ligne (0D et 0A sont inexistants après ma conversion, de même que les bytes 90, 8D et 81 qui se trouvent changés en 3F (???)...

    Bref, quelle est la méthode à employer ?

    Voilà ce que je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    BufferedReader reader = null;
    reader = new BufferedReader(new FileReader(FilePath));
     
    StringBuffer datas = new StringBuffer(); 
    try { 
    	String line = ""; 
    	while((line = reader.readLine()) != null) { 
    		datas.append(line); 
    	}
     } 
    catch(IOException ioe) { 	} 
    byte[] result = datas.toString().getBytes();
    Suivi de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    String result = "";
    for (int i = 0; i<Byte.length;i++) {
    	result += ByteToString(Byte[i]) + separator;
    }
    Merci d'avance pour vos commentaires

    Cdlt

  2. #2
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Je ne comprends pas tout très bien, mais, si ton fichier d'entrée est un fichier binaire, tu ne peux pas le lire avec un FileReader, mais tu dois utiliser un FileInputStream.

    En gros, en java, il existe deux façons d'appréhender les fichiers : les flux d'octets, et les flux de caractères. Il ne faut pas mélanger les uns et les autres, et passer de l'un à l'autre avec moultes précautions.

    Voir Le système d’E/S de Java ou Basic I/O.
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    effectivement c'était bien le problème

    merci pour ta réponse & les liens !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. string - fichier binaire ?
    Par rimas2009 dans le forum C++
    Réponses: 1
    Dernier message: 19/05/2009, 11h15
  2. Réponses: 7
    Dernier message: 01/09/2006, 14h19
  3. Nettoyer String □ (recup d'1 fichier binaire)
    Par gabule dans le forum Langage
    Réponses: 4
    Dernier message: 31/05/2006, 15h09
  4. Fichier binaire en C++ et string
    Par merrheim dans le forum C++
    Réponses: 9
    Dernier message: 23/02/2006, 22h30
  5. Réponses: 2
    Dernier message: 06/12/2005, 12h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo