[java] filtrer des octets
karine
-
karine -
karine -
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 ?
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
-
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
-
J'ai pas trouvé de post qui réponde à ma question ...
Si quelqu'un sait comment faire, ça m'intéresse beaucoup ! ;-) -
-
Je fais :
InputStream entrant = socket.getInputStream(); while ((lus = entrant.read(buffer)) != -1) { sout.write(buffer,0,lus); } -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
Pardon, j'avais oublié le sout.
PrintStream sout = new PrintStream(client.getOutputStream());
Est-ce que ça t'éclaire un peu plus ? -
Sinon j'ai vu sur internet la classe DataInputStream.
Est-ce que quelqu'un la connait ?
Ca pourrait meut etre resoudre mon probleme. -
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 } } -
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.