2009-03-27 4 views

답변

3

하지 표준 라이브러리 AFAIK에 있지만, 보인다되지 않습니다 OutputStream에

+0

왜 이런 일을 downvoted거야? McDowell이 위에 보여준 것처럼 실제로이 솔루션을 구현하는 것은 사소한 일입니다. – pdxleif

14

이미 제공 한 답변을 다시 해싱 -

Java에 NullOutputStream 클래스가 없습니다. 그러나 OutputStream을 쓰면 무시할 수 있습니다. 즉, write(int b), write(byte[] b)write(byte[] b, int off, int len)은 메소드 본체가 비어 있습니다. 이것이 공통 IO NullOutputStream 클래스의 기능입니다.

+0

여기 http://alvinalexander.com/java/jwarehouse/commons-io -2.0/src/main/java/org/apache/commons/io/output/NullOutputStream.java.;' – Aftershock

96
/**Writes to nowhere*/ 
public class NullOutputStream extends OutputStream { 
    @Override 
    public void write(int b) throws IOException { 
    } 
} 
+11

SHTML이 쉽게 구현 될 수 데이터를 버리기보다는 메모리에 누적하기 때문에 나쁜 생각입니다. 작가가 BAOS에 15GB의 정크를 쓴다면 어떻게 될까요? 그것은 일어날 수 있었다. –

34

그것은 아직 언급되지 않은, 그래서 나는 또한 GuavaByteStreams을 추가합니다. nullOutputStream(), 일부는 Apache Commons IO보다 Guava를 선호하거나 이미 프로젝트에 포함되어있을 수 있습니다.

참고 : 이전 버전의 구아바 (1.0-13.0)를 사용하는 경우 com.google.io.NullOutputStream을 사용하려고합니다.

-3

ByteArrayOutputStream (API가 텍스트를 출력한다고 가정). 새 인스턴스를 생성하면됩니다.

+0

이 '의 OutputStream nullOutputStream = 새의 OutputStream() { @Override 공공 무효 쓰기 (INT 나) { } 을} : 당신이 이런 식으로 뭔가를 사용하여 원하는 곳 – phyzome

0

나는 이것이 같은 것을 찾고 있다고 믿고있다. 표준 출력으로부터의 출력 스트림을 ProcessBuilder 객체로 리디렉션하기위한 것이다.

Blockquote

pb.redirectError(ProcessBuilder.Redirect.appendTo(new File("NUL:"))); 
+0

이것은 Windows와 관련이 있습니다. – peterh

관련 문제