336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

자바에서는 I/O스트림을 수행하는 OutputStream 과 InputStream 클래스를 제공한다. OutputStream은 모든 출력 스트림 서브 클래스의 슈퍼 클래스다.



OutputStream 메소드들


void close()

현재 출력 스트림을 닫고, 스트림과 연관되어 있는 리소스를 해제한다. I/O 에러가 발생하면 IOException을 던진다(OutputStream에서 Closeable을 구현하고 있기 때문에 출력 스트림과 함께 try-with-resources 문을 사용할 수 있다)


void flush()

현재 출력 스트림에 있는 바이트들을 플러쉬한다. 만일 최종 목적지가 파일과 같이 하위 플랫폼에 의해 제공되는 추상적인 디바이스이면 플러쉬를 하더라도 오직 하위 플랫폼의 추상 디바이스까지만 바이트들이 전달되고 하위 플랫폼이 제어하는 물리적인 디바이스(예를 들어 하드디스크) 까지 완전히 전해진다고 보증할 수는 없다.이 메소드는 I/O에러가 발생하면 IOException을 던진다.


void write(byte[] b)

byte 배열 인자 b의 내용을 출력 스트림으로 보낸다. 보내지는 바이트의 수는 b.length가 된다. 이 메소드는 b가 null일 경우 NullPointerException을, I/O에러가 발생하면 IOException을 던진다.


void write(byte[] b, int off, int len)

인자 off로 지정한 위치에서부터 인자 len에 지정한 개수만큼 인자 b의 byte 배열에서 바이트를 읽어 현재 출력 스트림으로 보낸다. 인자 b의 값이 null이면 NullPointerException을, 인자 off의 값이 음수이거나 값이 b.length보다 크면 java.lang.IndexOutOfBoundsException을 그리고 I/O 에러가 발생하면 IOException을 던진다


void write(int b)

바이트 인자 b를 출력 스트림으로 보낸다. b가 int 타입이기 때문에 하위 8비트만 전달되고 상위 24비트는 무시된다.




flush() 메소드는 애플리케이션 실행 도중 특정 간격으로 데이터를 수시로 저장을 해야하는 텍스트 에디터 같은 애플리케이션에 유용하게 쓰인다. 이 메소드는 바이트들을 물리적인 디스크가 아닌, 바로 아래의 하위 플랫폼까지만 전달한다는 것을 명심하자


***

close() 메소드는 자동적으로 출력 스트림을 플러쉬한다. 그러므로 애플리케이션이 종료되기 전에 close()를 호출하면 출력 스트림을 닫고 스트림에 있는 데이터를 자동적으로 플러쉬한다.

















'Java > Working-level Java' 카테고리의 다른 글

InputStream  (0) 2015.01.26
Stream  (0) 2015.01.26
FileWriter : FIndAll  (0) 2015.01.22
Thread 3  (0) 2015.01.14
Thread 2  (0) 2015.01.14
Posted by af334