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 :

L'interet d'un Buffer ?


Sujet :

Entrée/Sortie Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 22
    Points : 15
    Points
    15
    Par défaut L'interet d'un Buffer ?
    Bonjour, actuellement je programme un serveur et un client en SOCKET. Je vois sur certain code source (pour pas dire la quasi totalité !) que vous utilisez souvent un BuffeedReader. Pourquoi et quelle est son intérêt ? En terme de resultat je n'est pas remarqué de différence à l'affichage de ma console. J'utilise seulement cette ligne la pour recevoir un donnée envoyé par mon client :

    Code JAVA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    in = connection.getInputStream();
    		  DataInputStream DataInput = new DataInputStream(in);

    (avec connection --> new socket)
    et si je veux afficher les donnée du client, je met juste cette ligne dans une boucle


    Je peux utiliser bien-sur un readInt() ou readUTF() et plein d'autre. Alors qu'elle est l'interet d'utiliser un BufferedReader à la place d'un DataInputStream ?

    Merci

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    L'usage n'est pas le même. DataInputStream est destiné à lire des données binaires formattées, soit sous forme de int, de byte, ou de String UTF-8 bidouillée. BufferedReader sert à lire un flux qui est exclusivement sous forme de texte, dans n'importe quel encodage supporté par la jvm. Donc DataInputStream c'est pour du binaire, Reader / BufferedReader, c'est pour du texte. A noter que si tu n'utiliser que la méthode "int read()", le DataInputStream est inutile, tu peux utiliser directement l'inputstream...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    D'accord je comprend mieux donc DataInputStream semble être mieux pour le genre de programme que je veux faire étant donné qu'a l'avenir j'utiliserais des Bytes pour envoyer des donnée (moins de mémoire)

  4. #4
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 320
    Points : 3 741
    Points
    3 741
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par zozimama Voir le message
    étant donné qu'a l'avenir j'utiliserais des Bytes pour envoyer des donnée (moins de mémoire)
    Je pense que tu vas surtout te compliquer la vie, ce sont de toute façon des bytes qui circulent à travers le réseau, les wrappers te simplifies beaucoup de choses, ce serait du gâchis de ne pas les utiliser et en plus de cela tu vas très certainement reproduire leur mécanisme (donc refaire la roue).
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Désolé pour la réposne si tardive !

    Donc un WriteInt(); prend la meme taille qu'un WriteBytes(byteArray[]) ?

    Je ne cerne pas trop là ^^

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Non, ce qu'on te dit c'est que tu n'a pas besoin de DataOutputStream pour écrire des byte, Outputstream a déjà ce qu'il faut.

    Et effectivement, écrire 4 caractères ascii avec writer ou écrire 4 bytes avec outputstream, ça prends la même place. Ecrire 4 bytes représentant un int ou écrire le int avec DataOutputStream, ça prends aussi la même place.

Discussions similaires

  1. stencil buffer
    Par patapetz dans le forum OpenGL
    Réponses: 6
    Dernier message: 26/02/2004, 17h23
  2. A propos depth buffer
    Par j.yves dans le forum DirectX
    Réponses: 1
    Dernier message: 03/12/2002, 00h41
  3. Vider le buffer du clavier
    Par flavien tetart dans le forum x86 16-bits
    Réponses: 2
    Dernier message: 12/07/2002, 08h35
  4. Affichage en passant par un buffer...
    Par Sirotilc dans le forum MFC
    Réponses: 5
    Dernier message: 27/05/2002, 21h00
  5. Alpha blending et Z-buffer directx 8
    Par Cesar4 dans le forum DirectX
    Réponses: 1
    Dernier message: 23/05/2002, 12h58

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