用于"管道"的Java习语

Chr*_*way 9 java io pipe

是否有一个更简洁/标准的习惯用法(例如,JDK方法)用于"管道"输入到Java中的输出而不是以下?

public void pipe(Reader in, Writer out) {
    CharBuffer buf = CharBuffer.allocate(DEFAULT_BUFFER_SIZE);
    while (in.read(buf) >= 0 ) {
        out.append(buf.flip());
        buf.clear();
    }
}
Run Code Online (Sandbox Code Playgroud)

[编辑]请注意,ReaderWriter给予.正确答案将演示如何获取inout形成管道(最好不超过1或2个方法调用).我将接受答案,其中inoutInputStreamOutputStream(最好是从/到Reader/ 的转换Writer).我不会接受的答案无论是地方in还是out是一个子类Reader/ InputStreamWriter/ OutputStrem.

Hen*_*ing 10

IOUtils从Apache Commons项目有许多utilily方法是做你需要什么.

IOUtils.copy(in, out)将执行输出的所有输入的缓冲副本.如果您的代码库中有多个需要StreamReader/ Writer处理的位置,使用IOUtils可能是个好主意.