seaswalker / posts

0 stars 0 forks source link

不需要耗内存的输入流转换 #41

Open seaswalker opened 3 years ago

seaswalker commented 3 years ago

这样的场景: 假如从一个系统读取数据,经过稍微处理或不处理后直接转发给另一个系统,此时可以使用:

<dependency>
    <groupId>net.sf.jsignature.io-tools</groupId>
    <artifactId>easystream</artifactId>
    <version>${easystream.version}</version>
</dependency>

然后:

// 假设从A读取输出到B
OutputStreamToInputStream<Result> outputStreamToInputStream = new OutputStreamToInputStream<Result>() {
    @Override
    protected Result doRead(InputStream inputStream) {
        // ... 处理inputstream,B系统读取
        return new Result();
    }
};
// 从A系统读取后写入
outputStreamToInputStream.write(7);