当我使用 objectOutputSupplier
时,添加第一行 ( CharStreams.write
) 会正确执行。但随后再次调用CharStreams.write
会引发IOException
.
这是对象的正确行为吗?如果是这样,如何String
在不关闭内联流的情况下将 a 附加到供应商对象?
...
final Process process = Runtime.getRuntime().exec("su");
OutputSupplier<OutputStreamWriter> writerSupplier = CharStreams.newWriterSupplier(new OutputSupplier<OutputStream>() {
@Override
public OutputStream getOutput() throws IOException {
return process.getOutputStream();
}
}, Charsets.UTF_8);
// ok
CharStreams.write(someCommand, writerSupplier);
...
// IOException
CharStreams.write(otherCommand, writerSupplier);