Necesito especificar una OutputStream
para una API que estoy usando, pero en realidad no necesito la salida. ¿Java tiene un OutputStream
equivalente a > /dev/null
?
java
outputstream
Brandon Yarbrough
fuente
fuente
fuente
OutputStream nullOutputStream = new OutputStream() { @Override public void write(int b) { } };
Java no parece, pero Apache Commons IO sí. Eche un vistazo a lo siguiente:
https://commons.apache.org/proper/commons-io/javadocs/api-2.5/org/apache/commons/io/output/NullOutputStream.html
Espero que ayude.
fuente
No se menciona, sin embargo, así que también a añadir guayaba 's ByteStreams . nullOutputStream () , ya que algunos podrían preferir Guava sobre Apache Commons IO o ya lo tienen en su proyecto.
Nota: Si usa una versión anterior de Guava (de 1.0 a 13.0), desea usar com.google.io.NullOutputStream .
fuente
Rehaciendo las respuestas ya proporcionadas -
Java no tiene una
NullOutputStream
clase. Sin embargo, puede rodar el suyoOutputStream
que ignore cualquier dato escrito en él, en otras palabraswrite(int b)
,write(byte[] b)
ywrite(byte[] b, int off, int len)
tendrá cuerpos de método vacíos. Esto es lo que hace laNullOutputStream
clase Common IO .fuente
No en la biblioteca estándar AFAIK, pero no debería ser difícil crear una anulando la escritura en OutputStream
fuente
No, pero es bastante fácil de implementar.
Consulte esta pregunta "Cómo eliminar System.out.println del código base"
Y luego solo tienes que:
O algo así :)System.setOut (PrintStream)
fuente
Java 11 agregó OutputStream.nullOutputStream ()
fuente
Hay un chico nuevo en la ciudad, que se encarga de esto como un encanto, solo unas pocas líneas de código deberían funcionar. Allí se ha introducido su JDK 11 y nullWriter () , que se encarga de esto. Aquí va el código para lidiar con el mismo problema anterior, una nueva forma sin preocuparse por el sistema operativo (SO).
¡Espero que esto pueda ayudar a alguien!
fuente
Creo que esto es lo que está buscando, yo estaba buscando lo mismo: esto es para redirigir los flujos de salida del error estándar, estándar en los objetos ProcessBuilder.
fuente
ByteArrayOutputStream
es lo que desea (asumiendo que la API generará texto). Simplemente crea una instancia nueva.fuente