使用しているAPIのを指定する必要がありますOutputStream
が、実際には出力は必要ありません。JavaにはOutputStream
同等のものがあり> /dev/null
ますか?
9 に答える
/**Writes to nowhere*/
public class NullOutputStream extends OutputStream {
@Override
public void write(int b) throws IOException {
}
}
Java はそうではないように見えますが、Apache Commons IO はそうです。以下を見てください。
それが役立つことを願っています。
まだ言及されていないので、GuavaのByteStreamsも追加します。nullOutputStream()、Apache Commons IOよりもGuavaを好む人もいれば、プロジェクトにすでにGuavaを持っている人もいます。
注:古いバージョンのGuava(1.0から13.0)を使用する場合は、com.google.io.NullOutputStreamを使用する必要があります。
すでに提供されている回答の再ハッシュ -
NullOutputStream
Java にはクラスがありません。ただし、書き込まれたデータを無視する独自のロールを作成することもできます。OutputStream
つまりwrite(int b)
、空のメソッド本体を持つことになりますwrite(byte[] b)
。write(byte[] b, int off, int len)
これが Common IONullOutputStream
クラスの機能です。
いいえ、しかし実装は非常に簡単です。
この質問「コードベースから System.out.println を削除する方法」を参照してください。
そして、次のことを行うだけです。
System.setOut( DevNull.out );
またはそのようなもの:)
町には新しい男の子がいて、これを魔法のように処理します。ほんの数行のコードで機能するはずです。そのJDK 11とnullWriter()が導入され、これが処理されます。ここでは、オペレーティング システム (OS) を気にせずに、同じ古い問題を新しい方法で処理するコードを示します。
String fileContent = "Welcome to StackOverflow readers !! Here goes the question link...";
Writer writer = Writer.nullWriter();
writer.write(fileContent);
writer.close();
これが誰かを助けることを願っています!
これはあなたが探しているものだと思います、私は同じものを探していました: これは、ProcessBuilder オブジェクトの標準出力、標準エラーからの出力ストリームをリダイレクトするためのものです。
引用符
pb.redirectError( ProcessBuilder.Redirect.appendTo( new File( "NUL:" ) ) );
- ドム