2022-05-15 자바_입출력_스트림

자바 입출력 스트림

출처 : 혼자 공부하는 자바

자바에서 데이터는 스트림을 통해서 입출력된다.

스트림은 단일 방향으로 연속적으로 흘러가는 것을 의미한다.

java.io 패키지에는 크게 두 종류의 스트림 클래스를 제공한다.

  • 바이트 기반 스트림 : 그림, 멀티미디어 등의 바이너리 데이터를 읽고 출력할 때 사용
  • 문자 기반 스트림 : 문자 데이터를 읽고 출력할 때 사용
바이트 기반 스트림입력 스트림출력 스트림
최상위 클래스InputStreamOutputStream
하위 클래스 (예)xxxInputStream (FileInputStream)xxxOutputStream (FileOutputStream)
문자 기반 스트림입력 스트림출력 스트림
최상위 클래스ReaderWriter
하위 클래스 (예)xxxReader (FileReader)xxxWriter (FileWriter)

바이트 출력 스트림: OutputStream

리턴 타입메소드설명
voidwrite(int b)주어진 int의 4byte 중 마지막 1byte를 출력
voidwrite(byte[] b)배열 b의 모든 바이트를 출력
voidwrite(byte[] b, int off, int len)배열 b[off]부터 len개까지의 바이트 출력
voidflush()출력 버퍼에 잔류하는 모든 바이트 출력
voidclose()출력 스트림을 닫음

출력한다는 것은 출력 스트림에 전달한다는 의미다.


바이트 입력 스트림: InputStream

리턴 타입메소드설명
intread()1byte를 읽고 읽은 바이트를 int의 마지막 바이트에 넣어 리턴
intread(byte[] b)읽은 바이트를 배열 b에 저장하고 읽은 바이트 수를 리턴
intread(byte[] b, int off, int len)len개의 바이트를 읽고 배열 b[off] 부터 len개까지 저장. 그리고 읽은 바이트의 수를 리턴.
voidclose()입력 스트림을 닫음

문자 출력 스트림: Writer

리턴 타입메소드설명
voidwrite(int c)주어진 int c의 끝 2byte(1개의 문자)만 출력
voidwrite(char[] cbuf)배열 cbuf의 모든 문자(char)을 출력
voidwrite(char[] cbuf, int off, int len)배열 cbuf[off]부터 len개까지의 문자(char)를 출력
voidwrite(String str)문자열 str을 출력
voidwrite(String str, int off, int len)문자열 str의 off순번에서 len개까지의 문자를 출력(순번은 0부터 시작)
voidflush()버퍼에 잔류하는 모든 문자 출력
voidclose()출력 스트림을 닫음

문자 입력 스트림: Reader

리턴 타입메소드설명
intread()1개의 문자(char 즉 2byte)를 int의 끝 2바이트에 넣어 리턴
intread(char[] cbuf)읽은 문자를 배열 cbuf에 저장하고 읽은 문자수를 리턴
intread(char[] cbuf, int off, int len)len개의 문자를 읽고 배열 cbuf[off]부터 len개까지 저장하고 읽은 문자의 수를 리턴.
voidclose()입력 스트림을 닫습니다

댓글 남기기