2015-10-08 1 views
0

J'ai un outputstream, auquel le Un client est en train d'écrire, je dois le transmettre dans l'octet chuncks au client B.Gravez du flux de sortie pour le flux de sortie

Je voudrais connecter le flux de sortie du client A avec le flux de sortie du client B. Est-ce possible? Quelles sont les façons de faire cela? Je n'ai pas besoin de fork/clone J'ai plutôt besoin de prendre certaines des données du flux A et de les déplacer dans le flux B (ie les données ne restent pas dans le flux A)

Remarque: A et B sont les processus et les flux de sortie du client A ne peuvent pas être directement fournis au client B. Contrainte: mémoire limitée

+0

Bien ... Le client B a un flux d'entrée. Ce qui, je pense, est ce que vous confondez avec le flux de sortie du client A – user2651804

+0

@ user2651804 pas les deux sortie – Yakov

+2

Fournissez http://stackoverflow.com/help/mcve pour obtenir une réponse rapide – vels4j

Répondre

1

Essayez cette approche; il transfère des octets ("Hello world") écrits sur "out" à "out2" sans utiliser un InputStream:

import java.io.ByteArrayOutputStream; 

public class OutputStreamEx { 

public static void main(String[] args) { 
    String content = "Hello world"; 
    byte[] bytes = content.getBytes(); 
    try { 
     ByteArrayOutputStream out = new ByteArrayOutputStream(); 
     out.write(bytes, 0, bytes.length); 
     ByteArrayOutputStream out2 = new ByteArrayOutputStream(); 
     out.writeTo(out2); 
     System.out.println(out2.toString()); 
    } catch (Exception ex) { 
     ex.printStackTrace(); 
    } 
    } 
}