create - ¿Hay un OutputStream nulo en Java?
outputstream android (8)
Aún no se menciona, así que también ByteStreams Guava . nullOutputStream() , ya que algunos prefieren 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), quiere usar com.google.io.NullOutputStream .
Necesito especificar un OutputStream
para una API que estoy usando, pero realmente no necesito el resultado. ¿Java tiene un OutputStream
equivalente a > /dev/null
?
Creo que esto es lo que está buscando, estaba buscando lo mismo: esto es para redirigir flujos de salida desde el error estándar, salida estándar en objetos ProcessBuilder.
Blockquote
pb.redirectError( ProcessBuilder.Redirect.appendTo( new File( "NUL:" ) ) );
- Dom
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/index.html
Espero que ayude.
No está en la biblioteca estándar AFAIK, pero no debería ser difícil crear uno anulando la escritura en OutputStream
No, pero es bastante fácil de implementar.
Consulte esta pregunta "Cómo eliminar System.out.println de la base de código"
Y luego solo tienes que:
System.setOut( DevNull.out );
O algo así :)
Reposicionando las respuestas ya provistas
Java no tiene una clase NullOutputStream
. Sin embargo, podría hacer su propio OutputStream
que ignora cualquier dato escrito en él; en otras palabras, write(int b)
, write(byte[] b)
y write(byte[] b, int off, int len)
tendrán cuerpos de método vacíos . Esto es lo que hace la clase Common IO NullOutputStream
.
ByteArrayOutputStream
es lo que quieres (suponiendo que la API genere texto). Simplemente crea una instancia nueva.
/**Writes to nowhere*/
public class NullOutputStream extends OutputStream {
@Override
public void write(int b) throws IOException {
}
}