Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

copier un flux

1 réponse
Avatar
Xavier Demaret
Salut !
J'ai un flux (en l'occurence un BufferedInputStream d'octets issus de
pages html) qui nécessite plusieurs traitements réalisés par plusieurs
objets différents, en parallèle. Il faut donc que plusieurs objets
puissent lire les données du flux sans influer sur les autres. En gros,
il me faudrait faire des copies de ce flux.
En supposant qu'on veuille accéder à BufferedInputStream input, en
faisant comme ça :

InputStream is1, is2;
is1 = input;
is2 = input;

bin évidemment, quand on fait read() sur is1, le prochain read() sur is2
renvoie les caractères suivants, ça ne marche donc pas...

Comment dois-je m'y prendre, s'iou plaît ?

1 réponse

Avatar
captainpaf
"Xavier Demaret" a écrit dans le message de
news: c7aeeq$o6o$
Salut !
J'ai un flux (en l'occurence un BufferedInputStream d'octets issus de
pages html) qui nécessite plusieurs traitements réalisés par plusieurs
objets différents, en parallèle. Il faut donc que plusieurs objets
puissent lire les données du flux sans influer sur les autres. En gros,
il me faudrait faire des copies de ce flux.
En supposant qu'on veuille accéder à BufferedInputStream input, en
faisant comme ça :

InputStream is1, is2;
is1 = input;
is2 = input;

bin évidemment, quand on fait read() sur is1, le prochain read() sur is2
renvoie les caractères suivants, ça ne marche donc pas...

Comment dois-je m'y prendre, s'iou plaît ?


Salut,

quand tu fais : "InputStream is1, is2;", tu déclares 2 références sur des
InputStream sans les construire. Elle ne "pointe" donc sur aucun objects.
après tu fais "is1 = input;" et "is2 = input;" donc is1 et is2 deviennent
exactement les même références (is1==is2). Donc forçément ça ne peut pas
fonctionner.
Regarde du côté de "new" pour obtenir des références diférentes.


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.677 / Virus Database: 439 - Release Date: 04/05/2004