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