2021. 8. 5. 13:45ㆍJava
입출력 스트림의 종류
◎ 바이트 기반 스트림 :그림, 멀티미디어 등의 데이터를 읽고 출력할 때 사용
- 출력 : OutputStream , 입력 : InputStream
◎ 문자 기반 스트림 : 문자 데이터를 읽고 출력할 때 사용
- 출력 : Writer , 입력 : Reader
1. 바이트 기반 스트림
◎ OutputStream : 바이트 기반 출력 스트림의 최상위 클래스(추상 클래스). 모든 바이트 기반 출력 스트림 클래스는 OutputStream 클래스를 상속받아 만들어진다. FileOutputStream, PrintOutputStream, BufferedOutputStream, DataOutputStream은 모두 OutputStream 클래스를 상속한다.
◎ 주요 메소드
write(int a) : 1byte 출력
write(byte[] a) : 매개값으로 주어진 배열 a의 모든 바이트 출력
write(byte[] a, int off, int len) : 매개값으로 주어진 배열 a[off]부터 len개 까지 바이트를 출력
flush() : 출력 버퍼에 잔류하는 모든 바이트를 출력
close() : 출력 스트림을 닫음
◎ InputStream : 바이트 기반 입력 스트림의 최상위 클래스(추상 클래스). 모든 바이트 기반 입력 스트림은 InputStream클래스를 상속받아 만들어진다. FileInputStream, BufferedInputStream, DataInputStream클래스는 InputStream클래스를 상속한다.
◎ 주요 메소드
read() : 1byte를 읽고 읽은 바이트를 리턴
read(byte[] a) : 읽은 바이트를 매개값으로 주어진 배열에 저장하고 읽은 바이트 수를 리턴
read(byte[] a, int off, int len) : len개의 바이트를 읽고 매개값으로 주어진 배열에서 b[off]부터 len개 까지 저장하고 읽은 바이트 수를 리턴
close() : 입력 스트림을 닫음
2. 문자 기반 출력 스트림
◎ Writer : 문자 기반 출력 스트림의 최상위 클래스(추상 클래스). 모든 문자 기반 출력 스트림 클래스는 Writer 클래스를 상속 받는다. FileWriter, BufferedWriter, PrintWriter, OuputStreamWriter클래스는 Writer클래스를 상속한다.
◎ 주요 메소드
write(int c) : 매개값으로 주어진 한 문자를 보냄
write(char[] c) : 매개값으로 주어진 배열의 모든 문자를 보냄
write(char[] c, int off, int len) : 매개값으로 주어진 배열에서 c[off]부터 len개 까지 문자를 보냄
write(String str) : 매개값으로 주어진 문자열을 보냄
write(String str, int off, int len) : 매개값으로 주어진 문자열에서 off부터 len개까지 문자를 보냄
flush() : 버퍼에 잔류하는 모든 문자를 출력
close() : 출력 스트림을 닫음
◎ Reader : 문자 기반 입력 스트림의 최상위 클래스(추상 클래스). 모든 문자 기반 입력 스트림 클래스는 Reader 클래스를 상속받는다. FileReader, BufferedReader, InputStreamReader클래스는 Reader 클래스를 상속한다.
◎ 주요 메소드
read() : 1개의 문자를 읽고 리턴
read(char[] c) : 읽은 문자들을 매개값으로 주어진 문자 배열에 저장하고 읽은 문자 수를 리턴
read(char[] c, int off, int len) : len개의 문자를 읽고 매개값으로 주어진 문자 배열에서 c[off]부터 len개 까지 저장하고 읽은 문자 수 리턴
close() : 입력 스트림을 닫음
'Java' 카테고리의 다른 글
Java를 이용한 음악 퀴즈 게임(ver1.1) (0) | 2021.08.24 |
---|---|
Java를 이용한 음악 퀴즈 게임(ver1) (0) | 2021.08.23 |
Java swing을 이용한 kbo 구단별 한국 시리즈 우승 기록 프로그램 (0) | 2021.08.04 |
컬렉션 프레임워크(1) - List 컬렉션 (0) | 2021.07.31 |
Stack & Queue (0) | 2021.07.29 |