2022-05-15 자바_입출력_스트림
2022. 5. 15. 17:17ㆍ학부 강의/Android_Studio
자바 입출력 스트림
출처 : 혼자 공부하는 자바
자바에서 데이터는 스트림을 통해서 입출력된다.
스트림은 단일 방향으로 연속적으로 흘러가는 것을 의미한다.
java.io 패키지에는 크게 두 종류의 스트림 클래스를 제공한다.
- 바이트 기반 스트림 : 그림, 멀티미디어 등의 바이너리 데이터를 읽고 출력할 때 사용
- 문자 기반 스트림 : 문자 데이터를 읽고 출력할 때 사용
바이트 기반 스트림 | 입력 스트림 | 출력 스트림 |
---|---|---|
최상위 클래스 | InputStream | OutputStream |
하위 클래스 (예) | xxxInputStream (FileInputStream) | xxxOutputStream (FileOutputStream) |
문자 기반 스트림 | 입력 스트림 | 출력 스트림 |
---|---|---|
최상위 클래스 | Reader | Writer |
하위 클래스 (예) | xxxReader (FileReader) | xxxWriter (FileWriter) |
바이트 출력 스트림: OutputStream
리턴 타입 | 메소드 | 설명 |
---|---|---|
void | write(int b) | 주어진 int의 4byte 중 마지막 1byte를 출력 |
void | write(byte[] b) | 배열 b의 모든 바이트를 출력 |
void | write(byte[] b, int off, int len) | 배열 b[off]부터 len개까지의 바이트 출력 |
void | flush() | 출력 버퍼에 잔류하는 모든 바이트 출력 |
void | close() | 출력 스트림을 닫음 |
출력한다는 것은 출력 스트림에 전달한다는 의미다.
바이트 입력 스트림: InputStream
리턴 타입 | 메소드 | 설명 |
---|---|---|
int | read() | 1byte를 읽고 읽은 바이트를 int의 마지막 바이트에 넣어 리턴 |
int | read(byte[] b) | 읽은 바이트를 배열 b에 저장하고 읽은 바이트 수를 리턴 |
int | read(byte[] b, int off, int len) | len개의 바이트를 읽고 배열 b[off] 부터 len개까지 저장. 그리고 읽은 바이트의 수를 리턴. |
void | close() | 입력 스트림을 닫음 |
문자 출력 스트림: Writer
리턴 타입 | 메소드 | 설명 |
---|---|---|
void | write(int c) | 주어진 int c의 끝 2byte(1개의 문자)만 출력 |
void | write(char[] cbuf) | 배열 cbuf의 모든 문자(char)을 출력 |
void | write(char[] cbuf, int off, int len) | 배열 cbuf[off]부터 len개까지의 문자(char)를 출력 |
void | write(String str) | 문자열 str을 출력 |
void | write(String str, int off, int len) | 문자열 str의 off순번에서 len개까지의 문자를 출력(순번은 0부터 시작) |
void | flush() | 버퍼에 잔류하는 모든 문자 출력 |
void | close() | 출력 스트림을 닫음 |
문자 입력 스트림: Reader
리턴 타입 | 메소드 | 설명 |
---|---|---|
int | read() | 1개의 문자(char 즉 2byte)를 int의 끝 2바이트에 넣어 리턴 |
int | read(char[] cbuf) | 읽은 문자를 배열 cbuf에 저장하고 읽은 문자수를 리턴 |
int | read(char[] cbuf, int off, int len) | len개의 문자를 읽고 배열 cbuf[off]부터 len개까지 저장하고 읽은 문자의 수를 리턴. |
void | close() | 입력 스트림을 닫습니다 |
'학부 강의 > Android_Studio' 카테고리의 다른 글
2022-05-17 project_github_upload (0) | 2022.05.17 |
---|---|
2022-05-16 Android_Studio_7 (0) | 2022.05.16 |
2022-04-15 Android_Studio_6 (0) | 2022.04.16 |
2022-04-03 Android_Studio_5 (0) | 2022.04.04 |
2022-04-01 IdeaVim (0) | 2022.04.01 |