-
Socket, lecteur de flux
Bonjour,
est-il possible d'utiliser plusieurs lecteur sur un flux:
// Mon flux
InputStream in = socket.getInputStream();
// Lecteur de char pour lire les premieres données:
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
... reader.readLine();
... reader.readLine();
... reader.readLine();
... reader.readLine();
// Lecteur de byte pour lire des tableaux de bytes
BufferedInputStream in = new BufferedInputStream(in);
in.read(); <----- MON PROGRAMME BLOQUE LA
Le but de mon projet est d'envoyer des requetes http avec des données jointes. J'aimerai lire les chaines de caractères du début avec un lecteur de char et les données jointes avec un lecteur de byte. Hors, le programme reste bloqué sur le read() du flux de byte.
Des idées?
Merci.
-
Tu devrais éventuellement passer un ObjectInputStream() pour lire les données . C'est plus robuste avec du code Java.
-
Ouai mais bon je dois lire des lignes au début et c'est déprécié.
Apparement, quand on déclare un Reader, il consomme les données reçues via la socket et donc il n'y a plus rien à lire si on connecte un autre flux. Ces données consomées étant utilisables via les méthodes du Reader.
++