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

Java Discussion :

l'affichage d'un ByteBuffer


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de kululu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2009
    Messages : 120
    Par défaut l'affichage d'un ByteBuffer
    Bonjour

    J'aimerais savoir si il y avait une technique simple pour renvoyer un String d'une instance de ByteBuffer (un ToString mais qui me renvoi son contenu)

    Je m'explique je lis le flux d'un fichier texte que je stocke dans le ByteB et j'aimerais ensuite le placer en paramètre dans une instance de StringTokenizer

    du style

    new StringTokenizer(byteBuffer.renvoieLeFluxEnString," ");

    Merci beaucoup

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Un raison particulière pour lire le flux via un ByteBuffer? C'est certes performant coté mémoire et allocation, mais c'est pas la classe la plus pratique pour du texte

    Vous allez devoir utiliser get(byte[]) puis ensuite utiliser le constructeur String(byte[] data, String encodage)

  3. #3
    Membre confirmé Avatar de kululu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2009
    Messages : 120
    Par défaut
    Oui c'est surtout pour un soucis de performance car je vais parser plus d'une centaine de fichier d'au moins 10000 lignes par fichier et après il faut que je réécrive ce qui m'intéresse dans un autre fichier (FileChannel of course )

    Sinon j'avais en tête d'utiliser un stringBuffer().
    En gros je fait

    char c = (char) byteBuff.get(unCharDuBuffer) et d'append cela dans mon StringBuffer.

    Sinon si je n'utilise pas ByteBuffer que dois-je utiliser?

    un peu hors sujet: Comment fait-on pour mettre comme délimiteur un quote (") dans les attributs d'un StringTokenizer car (unString,""") ça ne passe pas

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Le code que vous donnez ne fait pas ce que vous pensez! Si vous devez teraiter une fichier en tant que texte, le FileChannel ne vous sert à rien. Utilisez simplement un BufferedReader (pour lire ligne par ligne) et un Writer pour écrire dans la destination.

    Ici j'écris 6 millions de lignes dans une fichier en moins de 4 secondes, ca vaut vraiment le coup de se casser la tête? Sachant que d'après vos chiffres vous n'avez que 1 millions de lignes? L'utilisation des filechannel peut se justifier pour des transfert de matériel à matériel de plusieurs G, mais pas pour quelque centaines de M

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

Discussions similaires

  1. Pb affichage avec un PaintBox (pour eviter scintillement)
    Par juan64 dans le forum C++Builder
    Réponses: 7
    Dernier message: 08/04/2004, 09h21
  2. [VB6] [Flexgrid] Format d'affichage des numériques
    Par yansolo dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 19/10/2002, 21h00
  3. Affichage de documents PDF
    Par Dajon dans le forum C++Builder
    Réponses: 5
    Dernier message: 10/10/2002, 11h36
  4. probléme d'affichage d'une fiche
    Par sb dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 09h43
  5. Affichage en passant par un buffer...
    Par Sirotilc dans le forum MFC
    Réponses: 5
    Dernier message: 27/05/2002, 21h00

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