[Java] OutputStream
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를 감쌀 수 없다.