gpt4 book ai didi

java - Guava 。 CharStreams 检查 null

转载 作者:行者123 更新时间:2023-12-01 15:03:56 28 4
gpt4 key购买 nike

我可以通过此异常检查流值是否为 null:

(空!=供应商)

或者我需要检查:

(null != readerSupplier.getInput())

我应该flush()输出流吗?查看评论。

公共(public)无效运行(){

    try {
final Process process = Runtime.getRuntime().exec("su");
InputSupplier<InputStreamReader> readerSupplier = CharStreams.newReaderSupplier(new InputSupplier<InputStream>() {
@Override
public InputStream getInput() throws IOException {
return process.getInputStream();
}
}, Charsets.UTF_8);
OutputSupplier<OutputStreamWriter> writerSupplier = CharStreams.newWriterSupplier(new OutputSupplier<OutputStream>() {
@Override
public OutputStream getOutput() throws IOException {
return process.getOutputStream();
}
}, Charsets.UTF_8);
// can I check the stream objects for null readerSupplier/writerSupplier?
// or need: readerSupplier.getInput()/writerSupplier.getOutput()?
if (null != readerSupplier && null != writerSupplier) {
...
CharStreams.write(someCommand, writerSupplier);
// should I flush() output stream? How better? Flushables.flush(writerSupplier) or Flushables.flush(writerSupplier.getOutput())
}

最佳答案

Process 的 Javadoc 来看,这些值中的任何一个都不可能为 null,因此您不需要检查任何值是否为 null、句号。

无论如何,在 CharStreams.write 中使用 OutputSupplier 的目的是,它将打开、写入和关闭流,而无需您执行任何操作,因此无需刷新或执行任何操作。

关于java - Guava 。 CharStreams 检查 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13238586/

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