[java] filtrer des octets

Bonjour,

Voila mon probleme :

je reçois un flux de données.
Je le lis octet par octet. Comment je peux faire pour filtrer une ligne qui contient le mot Content-Type par exemple ?

Je sais qu'il existe un truc qui s'appelle matcher mais ça marche pas sur les octets.

Est-ce que quelqu'un a déjà fait ce genre de truc ?

9 réponses

  1. Contributeur
    ya un post qui a été mis récemment et qui voulais faire la même chose il me semble, regarde un peu en arrière tu devrai trouver
    0
    1. J'ai pas trouvé de post qui réponde à ma question ...

      Si quelqu'un sait comment faire, ça m'intéresse beaucoup ! ;-)
      0
      1. Contributeur
        qu'utilise tu comme objet pour lire les octets?

        0
        1. Je fais :
          InputStream entrant = socket.getInputStream();
          while ((lus = entrant.read(buffer)) != -1) {	
          sout.write(buffer,0,lus);
          }
          
          0
          1. Contributeur
            c'est quoi sout comme type d'objet?
            0
            1. Pardon, j'avais oublié le sout.

              PrintStream sout = new PrintStream(client.getOutputStream());

              Est-ce que ça t'éclaire un peu plus ?
              0
              1. Sinon j'ai vu sur internet la classe DataInputStream.

                Est-ce que quelqu'un la connait ?
                Ca pourrait meut etre resoudre mon probleme.
                0
                1. Contributeur
                  utilise plutôt BufferedOutputStream. Ce sera plus facile à gérer par la suite.
                  et le buffer, c'est quoi? Un tableau de byte?
                  ce que tu peux faire dans ce cas là, c'est:
                  String bufferEnChaine="";
                  while ((lus = entrant.read(buffer)) != -1) {	
                             sout.write(buffer,0,lus);
                            bufferEnChaine = new String(buffer);
                            if(bufferEnChaine.match("content-type"){
                                  // ton code
                           }
                  }
                  0
                  1. C'est pas mal, mais le probleme c'est que bufferEnChaine contient n'importe quoi.

                    Par exemple, il contient l'entete HTML (ça c'est très bien) mais aussi des bouts de code.

                    En fait je ne sais jamais ce que va lire chaque boucle, ça peut s'arreter n'importe ou.
                    0