gpt4 book ai didi

"piping"的 Java 习语

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:15:54 26 4
gpt4 key购买 nike

是否有比以下更简洁/标准的习惯用法(例如,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();
}
}

[编辑] 请注意 ReaderWriter给予的。正确答案将演示如何取 inout并形成一个管道(最好不超过 1 或 2 个方法调用)。我会接受 in 的答案和 outInputStream和一个 OutputStream (最好是从/到 Reader/Writer 的转换)。我不会接受任何in的答案或 outReader子类/InputStreamWriter/OutputStrem .

最佳答案

IOUtils来自 Apache Commons 项目有许多 utilily methods这正是您所需要的。

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

关于 "piping"的 Java 习语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/127753/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com