我有一个输出流,客户端 A 正在写入,我需要将它以字节块的形式转发到客户端 B。
我想将客户端 A 的输出流与客户端 B 的输出流连接起来。这可能吗?有什么方法可以做到这一点?我不需要分叉/克隆我而是需要从流 A 中获取一些数据并将其移动到流 B(即数据不留在流 A 中)
注意:A 和 B 是进程,客户端 A 的输出流不能直接提供给客户端 B。 约束:内存有限
试试这个方法;它将写入 'out' 的字节(“Hello world”)传输到 '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();
}
}
}
Run Code Online (Sandbox Code Playgroud)