Bra*_*ugh 103 java outputstream
我需要指定一个OutputStream
我正在使用的API,但我实际上并不需要输出.Java有OutputStream
相当于> /dev/null
?
McD*_*ell 110
/**Writes to nowhere*/
public class NullOutputStream extends OutputStream {
@Override
public void write(int b) throws IOException {
}
}
Run Code Online (Sandbox Code Playgroud)
hay*_*lem 40
它还没有被提及,所以我还要添加Guava的ByteStreams.nullOutputStream(),因为有些人可能更喜欢Guava而不是Apache Commons IO,或者已经将它放在他们的项目中.
注意:如果您使用较旧版本的Guava(从1.0到13.0),则需要使用com.google.io.NullOutputStream.
Vin*_*lds 14
重新提供已经提供的答案 -
Java没有NullOutputStream
类.然而,您可以滚动自己OutputStream
忽略写入其中的任何数据 - 换句话说write(int b)
,write(byte[] b)
并且write(byte[] b, int off, int len)
将具有空方法体.这就是Common IO NullOutputStream
类的功能.
lev*_*tov 10
从Java 11开始,有一个静态工具可以完全满足您的需要,它是一个静态工厂方法OutputStream.nullOutputStream()
:
返回一个丢弃所有字节的新OutputStream。返回的流最初是打开的。通过调用close()方法关闭流。随后对close()的调用无效。