3-2공부/네트워크프로그래밍

[Java] OutputStream

KGW2027 2022. 10. 22. 01:57
728x90
반응형

java.io.OutputStream

implements Closeable (스트림을 닫을 수 있다), Flushable (버퍼를 출력할 수 있다.)


InputStream은 스트림을 출력하기기 위한 스트림들의 슈퍼클래스이다.

 

- 추상 함수 ( Abstract Method )

write() : 스트림에 1바이트를 입력한다.

 

- 지역 함수 ( Local Method )

close() : 스트림 종료

flush() : 버퍼에 저장되있던 바이트들을 한 번에 출력한다.

write(byteArray, offset, length) : byteArray에 데이터를 쓴다.

 


 

java.io.FileOutputStream

extends OutputStream


파일을 Stream을 통해 읽기 위한 클래스이다.

 

- 생성자 ( Constructor )

new FileInputStream(File file[, bool append]) : 파일 객체를 이용해 객체를 생성한다.

new FileInputStream(String name[, bool append]) : 파일 이름을 이용해 객체를 생성한다.

 


 

java.io.ByteArrayOutputStream

extends OutputStream


ByteArray에 Stream을 byte로 바꿔서 출력하기 위한 클래스이다.

 

- 생성자 ( Constructor )

new ByteArrayOutputStream(int size) : ByteArray를 이용해 객체를 생성한다.

 

- 지역 함수 ( Local Method )

writeTo(OutputStream os) : 출력 스트림으로부터 ByteArray를 구성한다.

 


 

java.io.BufferedOutputStream

extends FilterOutputStream ( 바이트 정보를 분석하여 출력한다. )


BufferedOutputStream은 버퍼에 바이트를 저장하다가 최대값이 되면 한번에 계산한다.

 

- 생성자 ( Constructor )

new BufferedOutputStream(OutputStream is) : 출력스트림을 이용해 객체를 생성한다.

 


 

java.io.DataOutputStream

extends FilterOutputStream

implements DataOutput ( 다음 바이트가 인코딩 내에서 어떤 형태인지 구성한다. )


DataOutputStream은 입력받은 스트림을 Java dataType에 맞게 변형하기 위한 클래스이다.

 

- 생성자 ( Constructor )

new DataInputStream(OutputStream is) : 출력스트림을 이용해 객체를생성한다.

 

- 지역 함수 ( Local Method )

writeBoolean() : 읽어온 바이트를 bool로 읽는다.

writeByte() : 읽어온 바이트를 byte로 읽는다.

writeDouble() : 읽어온 2바이트를 double로 읽는다.

....

 


 

java.io.PrintStream

extends FilterOutputStream


문자열 출력을 위한 출력스트림이다. ( Java의 System.out 이 여기에 속한다. )

 

- 생성자 ( Constructor )

new PrintStream(File f) / new PrintStream(OutputStream os) : 파일이나 출력 스트림을 이용해 객체를 생성한다.

 

- 지역 함수 ( Local Method )

 print() / println() : 스트림을 문자열로 변환한 뒤 출력한다.

 


 

※ 객체를 생성할 때 주의해야 할 점 ※

Low-Level class는 High-Level class를 감쌀 수 없다.

 

 

728x90
반응형

'3-2공부 > 네트워크프로그래밍' 카테고리의 다른 글

[Java] Serialize, 직렬화  (0) 2022.10.22
[Java] Writer  (0) 2022.10.22
[Java] Reader  (0) 2022.10.22
[Java] InputStream  (0) 2022.10.22
[Java] File  (0) 2022.10.22