OVH Cloud OVH Cloud

2 stream en 1

4 réponses
Avatar
Guillaume ALLEON
Bjr,

Quelle est la meilleure façon de merger deus streams (par ec Stdout et
Stderr) en un seul présentant la même interface.

Merci
Guillaume

4 réponses

Avatar
TestMan
Bonjour,

Fusionner deux flux ? Peux-tu préciser la finalité et les comportements
attendus de la fusion ?

A+

TM

Bjr,

Quelle est la meilleure façon de merger deus streams (par ec Stdout et
Stderr) en un seul présentant la même interface.

Merci
Guillaume


Avatar
gal
En fait ce que je veux reproduire est ce qui se passe pour
ProcessBuilder ou les stderr et sdtout peut être mergés. J'accède
ainsi aux flux d'un process:
... br = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ( (line=br.readLine()) != null) blah blah
si je spécifie dans mon process builder que je veux merger stdout et
stderr alors sur mon br j'aurais indifferemment ce qui vient de l'un
ou de l'autre de ces flux.

Je veux recréer la même chose. Imaginons que j'ai un objet écrivant
dans deux flux, j'aimerais pouvoir indiquer que ces flux peuvent être
mergés de façon à ce qu'en créant un br sur l'un d'entre eux je
puisse lire ce qui vient des deux - bien sur la cohérence doit être
celle d'une ligne.

Bref une espèce de PipedReader sur lequel je puisse connecter
plusieurs source ?

Je ne dois quand même pas être le premier à me poser ce genre de
question ?

A+
GAL
Avatar
TestMan
Ya jsync.JoinInputStream à récupérer sur :
http://www.garret.ru/~knizhnik/jsync104.zip
Mais ce n'est pas avec un respect de séparation des lignes.

Au pire si personne d'autre n'a d'info, tu peux te coder ça en faisant
attention à la gestion multi-thread ...

Pour la petite info, l'option dans un process builder ça passe la main à
du natif ...

A+
TM

En fait ce que je veux reproduire est ce qui se passe pour
ProcessBuilder ou les stderr et sdtout peut être mergés. J'accède
ainsi aux flux d'un process:
... br = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ( (line=br.readLine()) != null) blah blah
si je spécifie dans mon process builder que je veux merger stdout et
stderr alors sur mon br j'aurais indifferemment ce qui vient de l'un
ou de l'autre de ces flux.

Je veux recréer la même chose. Imaginons que j'ai un objet écrivant
dans deux flux, j'aimerais pouvoir indiquer que ces flux peuvent être
mergés de façon à ce qu'en créant un br sur l'un d'entre eux je
puisse lire ce qui vient des deux - bien sur la cohérence doit être
celle d'une ligne.

Bref une espèce de PipedReader sur lequel je puisse connecter
plusieurs source ?

Je ne dois quand même pas être le premier à me poser ce genre de
question ?

A+
GAL


Avatar
Guillaume ALLEON
Ya jsync.JoinInputStream à récupérer sur :
http://www.garret.ru/~knizhnik/jsync104.zip
Mais ce n'est pas avec un respect de séparation des lignes.

Au pire si personne d'autre n'a d'info, tu peux te coder ça en faisant
attention à la gestion multi-thread ...

Pour la petite info, l'option dans un process builder ça passe la main à
du natif ...

A+
TM

En fait ce que je veux reproduire est ce qui se passe pour
ProcessBuilder ou les stderr et sdtout peut être mergés. J'accède
ainsi aux flux d'un process:
... br = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ( (line=br.readLine()) != null) blah blah
si je spécifie dans mon process builder que je veux merger stdout et
stderr alors sur mon br j'aurais indifferemment ce qui vient de l'un
ou de l'autre de ces flux.

Je veux recréer la même chose. Imaginons que j'ai un objet écrivant
dans deux flux, j'aimerais pouvoir indiquer que ces flux peuvent être
mergés de façon à ce qu'en créant un br sur l'un d'entre eux je
puisse lire ce qui vient des deux - bien sur la cohérence doit être
celle d'une ligne.

Bref une espèce de PipedReader sur lequel je puisse connecter
plusieurs source ?

Je ne dois quand même pas être le premier à me poser ce genre de
question ?

A+
GAL
merci, je vais regarder cela


Guillaume