Saya perlu menentukan OutputStream
untuk API yang saya gunakan, tetapi sebenarnya saya tidak membutuhkan output. Apakah Java memiliki OutputStream
padanan dengan > /dev/null
?
java
outputstream
Brandon Yarbrough
sumber
sumber
sumber
OutputStream nullOutputStream = new OutputStream() { @Override public void write(int b) { } };
Java sepertinya tidak tetapi Apache Commons IO melakukannya. Perhatikan yang berikut ini:
https://commons.apache.org/proper/commons-io/javadocs/api-2.5/org/apache/commons/io/output/NullOutputStream.html
Semoga membantu.
sumber
Ini tidak disebutkan belum, jadi saya juga akan menambahkan Jambu 's ByteStreams . nullOutputStream () , karena beberapa orang mungkin lebih memilih Guava daripada Apache Commons IO atau sudah memilikinya dalam proyek mereka.
Catatan: Jika Anda menggunakan Guava versi lama (dari 1.0 hingga 13.0), Anda ingin menggunakan com.google.io.NullOutputStream .
sumber
Mengulangi jawaban yang sudah diberikan -
Java tidak memiliki
NullOutputStream
kelas. Namun Anda dapat menggulung milik Anda sendiriOutputStream
yang mengabaikan data apa pun yang tertulis padanya - dengan kata lainwrite(int b)
,write(byte[] b)
danwrite(byte[] b, int off, int len)
akan memiliki badan metode kosong. Inilah yang dilakukan kelas Common IONullOutputStream
.sumber
Tidak di pustaka standar AFAIK, tetapi seharusnya tidak sulit untuk membuatnya dengan mengganti tulis di OutputStream
sumber
Tidak, tetapi penerapannya cukup mudah.
Lihat pertanyaan ini "Bagaimana cara menghapus System.out.println dari basis kode"
Dan kemudian Anda hanya perlu:
Atau semacam itu :)System.setOut (PrintStream)
sumber
Java 11 menambahkan OutputStream.nullOutputStream ()
sumber
Ada anak laki-laki baru di kota, yang mengurus ini seperti pesona, hanya beberapa baris kode yang seharusnya berfungsi. Its JDK 11 dan nullWriter () telah diperkenalkan di sana, yang mengurus ini. Ini dia kode untuk menangani masalah lama yang sama, cara baru tanpa mengkhawatirkan Sistem Operasi (OS).
Semoga ini dapat membantu seseorang!
sumber
Saya percaya bahwa ini yang Anda cari, saya mencari hal yang sama: Ini untuk mengarahkan aliran keluaran dari kesalahan standar, standar di objek ProcessBuilder.
sumber
ByteArrayOutputStream
adalah yang Anda inginkan (dengan asumsi bahwa API akan mengeluarkan teks). Buat saja yang baru.sumber