Java.io.InputStream
자바에서 제공하는 기본 입력스트림이다.
바이트 데이터를 읽는데 사용한다.
서브 클레스로 인스턴스를 작성해도 InputStream으로 반환한다.
- FileInputStream : 파일로부터 데이터를 읽는데 사용
- TelnetInputStream : 네트워크 연결로부터 읽음
- ByteArrayInputStream : 바이트 배열로부터 읽음
리턴타입 | 메소드 | 설명 |
int | read() | 입력된 스트림으로부터 1바이트를 읽고 읽은 바이트 리턴 |
int | read(byte[] b) | 입력된 스트림으로 부터 읽은 바이트들을 매개값으로 주어진 바이트 배열 b에 저장. 실제 읽은 바이트 수 리턴 |
int | read(byte[] b , int off, int len) | 입력 스트림으로부터 len개의 바이트 만큼 읽고 매개값으로 주어진 바이트 배열 b를 off 부터 len까지 저장한다. 그리고 실제로 읽은 바이트 수인 len개를 리턴. len개를 모두 읽지 못하면 실제로 읽은 바이트 수 리턴 |
void | close() | 사용한 시스템 자원을 반납하고 입력 스트림을 닫는다. |
read()
- InputStream의 기본 메소드
- 단일 바이트를 읽으며 0-255사이의 정수 타입을 반환한다.
- 더이상 반환할 값이 들어있지 않으면 -1을 반환한다.
- 반환 타입 : int
read(byte[] byteArray) 와 read(byte[] byteArray, int offset, int length )
- read(byte[] byteArray ) : 배열의 크기만큼 읽는다.
- read(byte[] byteArray , int offset , int length ) : offset부터 length 까지 읽는다.
- 스트림의 끝에 도달하면 -1을 반환한다.
InputStream is = null;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
int length;
byte[] buffer = new byte[2048];
try {
while ((length = is.read(buffer, 0, buffer.length)) != -1) {
bos.write(buffer, 0, length);
}
} catch (IOException e) {
e.printStackTrace();
}
byte[] byteArray = bos.toByteArray();
'KH > JAVA' 카테고리의 다른 글
API와 REST API (0) | 2023.03.28 |
---|---|
getClassLoader().getResource() 와 getResource() (0) | 2023.03.10 |
# 57 채팅 프로그램 구현하기 (0) | 2022.08.19 |
# 55 네트워킹(Networking) (0) | 2022.08.18 |
# 51 Swing(2) -Table (0) | 2022.08.16 |