java.io.InputStream
implements Closeable (스트림을 닫을 수 있다)
InputStream은 스트림을 불러들이기 위한 스트림들의 슈퍼클래스이다.
- 추상 함수 ( Abstract Method )
read() : 스트림에서의 다음 바이트를 읽는다.
- 지역 함수 ( Local Method )
available() : 읽을 수 있는 남은 바이트 수
close() : 스트림 종료
mark() : 스트림 내에서 읽을 수 있는 한계 바이트 위치를 정한다.
read(byteArray, offset, length) : byteArray에 데이터를 read한다.
reset() : stream를 읽고 있는 위치를 mark()가 선언된 곳으로 돌아간다.
skip(n) : n byte를 넘긴다.
java.io.FileInputStream
extends InputStream
파일을 Stream을 통해 읽기 위한 클래스이다.
- 생성자 ( Constructor )
new FileInputStream(File file) : 파일 객체를 이용해 객체를 생성한다.
new FileInputStream(String name) : 파일 이름을 이용해 객체를 생성한다.
java.io.ByteArrayInputStream
extends InputStream
ByteArray를 Stream으로 바꿔서 처리하기 위한 클래스이다.
- 생성자 ( Constructor )
new ByteArrayInputStream(byte[] buf) : ByteArray를 이용해 객체를 생성한다.
java.io.BufferedInputStream
extends FilterInputStream ( binary에 data type을 줘서 처리하기 위한 스트림 )
BufferedInputStream은 스트림 입력 과정에 버퍼를 사용하여 속도를 향상시킨 클래스이다.
- 생성자 ( Constructor )
new BufferedInputStream(InputStream is) : 입력스트림을 이용해 객체를 생성한다.
// 주로 FileInputStream이나 System.in 등을 사용한다.
java.io.DataInputStream
extends FilterInputStream
implements DataInput ( 다음 바이트가 인코딩 내에서 어떤 형태인지 구성한다. )
DataInputStream은 입력받은 스트림을 Java dataType에 맞게 변형하기 위한 클래스이다.
- 생성자 ( Constructor )
new DataInputStream(InputStream is) : 입력스트림을 이용해 객체를생성한다.
- 지역 함수 ( Local Method )
readBoolean() : 다음 바이트를 bool로 읽는다.
readByte() : 다음 바이트를 byte로 읽는다.
readDouble() : 다음 2바이트를 double로 읽는다.
....
java.io.PushbackInputStream
extends FilterInputStream
unread()함수를 이용해 읽던 중간에 앞에 새로운 바이트를 끼워넣을 수 있다.
- 생성자 ( Constructor )
new PushbackInputStream(InputStream is) : 입력스트림을 이용해 객체를 생성한다.
- 지역 함수 ( Local Method )
unread(int b) / unread(byte[] b) : 1 byte 혹은 byteArray를 unread하여, 읽던 스트림 맨 앞에 위치시킨다.
// unread 후 read하면 마지막으로 unread한 byte부터 출력된다. ( LIFO )
※ 객체를 생성할 때 주의해야 할 점 ※
Low-Level class는 High-Level class를 감쌀 수 없다.
'3-2공부 > 네트워크프로그래밍' 카테고리의 다른 글
[Java] Serialize, 직렬화 (0) | 2022.10.22 |
---|---|
[Java] Writer (0) | 2022.10.22 |
[Java] Reader (0) | 2022.10.22 |
[Java] OutputStream (0) | 2022.10.22 |
[Java] File (0) | 2022.10.22 |