从一个OutputStream写入另一个InputStream



我想在这样的类中有一个InputStream

class A {
InputStream inputStream = ...
}

我想使用来自同一应用程序中的另一个类的OutputStream来写入该InputStream。有可能做到这一点吗?

是的!您需要PipedOutputStream(请参阅(和PipedInputStream(请参见(。

下面是一个如何使用它的小例子:

public static void main(String[] args) throws ParseException, IOException {
PipedInputStream inputStream = new PipedInputStream();
PipedOutputStream outputStream = new PipedOutputStream(inputStream);
// Write some data to the output stream
writeDataToOutputStream(outputStream);
// Now read that data
Scanner src = new Scanner(inputStream);
System.out.println(src.nextLine());
}
private static void writeDataToOutputStream(OutputStream outputStream) throws IOException {
outputStream.write("Hello!n".getBytes());
}

代码将输出:

Hello!

最新更新