2015-10-08 8 views
0

У меня есть OutputStream, к которому клиент А писать, мне нужно передать его в байт chuncks на клиенте B.Запись из выходного потока в выходной поток

Я хотел бы, чтобы подключить выходной поток клиента A с выходным потоком клиента B. Возможно ли это? Каковы способы сделать это? Мне не нужно tok/clone Мне нужно взять некоторые данные из потока A и переместить его в поток B (то есть данные не остаются в потоке A)

Примечание: A и B являются процессы и выходной поток клиента A не могут быть напрямую переданы клиенту B. Ограничение: Ограниченная память

+0

Ну ... Клиент B имеет входной поток. Который, я думаю, является тем, что вы ошибаетесь в потоке вывода клиента A – user2651804

+0

@ user2651804 нет, оба из них выводятся – Yakov

+2

Предоставьте http://stackoverflow.com/help/mcve, чтобы получить быстрый ответ – vels4j

ответ

1

Попробуйте этот подход; он передает байты («Hello world»), записанные на «out» на «out2» без использования 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(); 
    } 
    } 
}