Published 2022. 8. 25. 11:19

OutputStream 추상 클래스는 데이터가 나가는 통로의 역할을 한다.

 

 

OutputStream 주요 메서드

 

통로로 데이터를 내보내는 기능이 필요하다.

데이터를 쓰는 기능과 관련된 메서드는 3개가 있다.

 

 

OutputStream은 쓸 수 있어야 한다.

/**
* b를 OutputStream으로 내보낸다
*/

public abstract void write(int b) throws IOException{}

// ByteArrayOutputStream은 Byte Array로 내보내는 통로이다.
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

outputStream.write(1); // outputStream에는 [1]이 들어있다.
outputStream.write(2000); // outputStream에는 [1, -48]이 들어있다.
/**
* byte 배열 b를 OutputStream으로 내보낸다
*/

public void write(byte b[]) throws IOException{}

// ByteArrayOutputStream은 Byte Array로 내보내는 통로이다.
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

outputStream.write(new byte[]{1,2}); // outputStream에는 [1, 2]이 들어있다.
/**
* byte 배열 b를 off부터 len만큼 OutputStream으로 내보낸다
*/

public void write(byte b[], int off, int len) throws IOException{}

 

 

OutputStream은 버퍼를 비울 수 있다.

/**
* 버퍼가 존재하는 경우, 해당 버퍼에서 데이터를 모두 목적지로 보내는 역할을 수행한다.
* ByteArrayOutputStream의 경우 버퍼가 없어 아무런 영향이 없다.
*/

public void flush() throws IOException{}

 

 

OutputStream은 통로를 닫을 수 있다.

public void close() throws IOException{}

 

정리

데이터 쓰기

 버퍼 비우기

 통로 끊기

복사했습니다!