입출력
- 입출력
- 스트림
- 스트림 종류
- InputStream
- OuputStream
- Reader
- Writer
입출력
input과 Output의 약자, 컴퓨터 내부 or 외부 장치와 프로그램 간의 데이터를 주고 받는 것
장치와 입출력을 위해서는 하드웨어 장치에 직접 접근이 필요한데 다양한 매체에 존재하는 데이터 들을 사용하기 위해
입출력 데이터를 처리할 공통적인 방법으로 스트림 이용
스트림(Stream)
입출력 장치에서 데이터를 읽고 쓰기 위해서 자바에서 제공하는 클래스
모든 스트림은 단방향이며 각각의 장치마다 연결할 수 있는 스트림 존재
하나의 스트림으로 입출력을 동시에 수행할 수 없으므로 동시에 수행하려면 2개의 스트림 필요
- 분류
구분 | 바이트 기반 스트림 (바이트 단위 처리) |
문자기반 스트림 (문자 단위 처리) |
||
입력 스트림 | 출력 스트림 | 입력 스트림 | 출력 스트림 | |
최상위 클래스 | InputStream | OutputStream | Reader | Writer |
하위 클래스 | ...InputStream (데이터가 들어옴) |
...OutputStream | ...Reader | ...Writer (데이터가 나감) |
스트림 종류
- InputStream
바이트 기반 입력 스트림의 최상위 클래스로 추상클래스
리턴 타입 | 메소드 | 설명 |
int | read() | 입력 스트림으로부터 1바이트를 읽고 읽은 바이트 리턴 |
int | read(byte[] b) | 입력 스트림으로부터 읽은 바이트들을 매개 값으로 주어진 바이트 배열 b에 저장하고 실제로 읽은 바이트 수 리턴 |
int | read(byte[],int off, int len) | 입력 스트림으로부터 len개의 바이트만큼 읽고 매개 값으로 주어진 바이트 배열 b[off]부터 len 개까지를 저장, 그리고 실제로 읽은 바이트 수인 len개 리턴, 만약 len개를 모두 읽지 못 하면 실제로 읽은 바이트 수 리턴 |
void | close() | 사용한 시스템 자원 반남 후 입력 스트림을 닫음 |
- OutputStream
바이트 기반 출력 스트림의 최상위 클래스로 추상 클래스
리턴 타입 | 메소드 | 설명 |
void | write(int s) | 출력 스트림으로 1바이트를 보냄 |
void | write(byte[] s) | 출력 스트림에 매개 값으로 주어진 바이트 배열 s의 모든 바이트를 보냄 |
void | write(byte[] b,int s,int len) | 출력 스트림에 매개 값으로 주어진 바이트 배열 b[s]부터 len개 까지의 바이트를 보냄 |
void | flush() | 버퍼에 잔류하는 모든 바이트 출력 |
void | close() | 사용한 시스템 자원 반납 후 출력 스트림을 닫음 |
- Reader
문자 기반 입력 스트림의 최상위 클래스로 추상클래스
리턴 타입 | 메소드 | 설명 |
int | read() | 입력 스트림으로부터 한개의 문자를 읽고 리턴 |
int | read(char[] c) | 입력 스트림으로부터 읽은 문자들을 매개 값으로 주어진 문자 배열 c에 저장하고 실제로 읽은 문자 수 리턴 |
int | read(char[] c,int s,int len) | 입력 스트림으로부터 len개의 문자만큼 읽고 매개 값으로 주어진 문자배열 c[s]부터 len개까지 저장, 실제로 읽은 문자 수인 len개 리턴 |
void | close() | 사용한 시스템 자원 반납 후 입력 스트림을 닫음 |
- Writer
문자 기반 출력 스트림의 최상위 클래스로 추상클래스
리턴 타입 | 메소드 | 설명 |
void | write(int c) | 출력 스트림으로 매개 값이 주어진 한 문자를 보냄 |
void | write(char[] c) | 출력 스트림으로 매개 값이 주어진 문자 배열 c의 모든 문자를 보냄 |
void | write(char[] c,int s,int len) | 출력 스트림으로 매개 값이 주어진 문자 배열c[s]부터 len개까지의 문자 보냄 |
void | write(String str) | 출력 스트림으로 매개 값이 주어진 문자열을 보냄 |
void | write(String str, int s, int len) | 출력 스트림으로 매개 값이 주어진 문자열 s순번부터 len개까지 문자 보냄 |
void | flush() | 버퍼에 잔류하는 모든 문자열 출력 |
void | close() | 사용한 시스템 자원 반납 후 출력 스트림을 닫음 |
'Java > Java 개념' 카테고리의 다른 글
21 - 1. 컬렉션(Collection) (0) | 2022.10.11 |
---|---|
20. File (0) | 2022.10.11 |
18. 예외처리 (0) | 2022.10.05 |
17. 다형성(Polymorphism) (0) | 2022.10.04 |
16. 오버라이딩(Overriding)과 오버로딩(Overloading) (0) | 2022.10.02 |