IO는 크게 2개로 나누어짐
1. Byte단위 입출력 클래스
- InputStream 추상클래스
- OutputStream 추상클래스
2. Char단위 입출력 클래스
- Reader 추상클래스
- Writer 추상클래스
Byte | Char | |||
InputStream | OutputStream | Reader | Writer | |
파일로부터 입력받고 쓰기위한 클래스 | FileInputStream | OutputStream | FileReader | FileWriter |
배열로부터 입력받고 쓰기위한 클래스 | ByteArrayInputStream | ByteArrayOutputStream | CharReader | CharWriter |
(위에가) 장식대상 클래스 (어디로부터 어디로를 지정 가능함) | ||||
다양한 데이터 형으로 입력을 바꿔 출력함 | DataInputStream | DataOutputStream | BufferedReader | PrintWriter |
한줄을 입력받아내는 readLine | 다양하게 한줄을 출력 | |||
(위에가) 장식하는 클래스( 데이터를 편한방식으로 받아내는 기능을 함) |
IO가 다양한 이유
자바는;
데코레이터 패턴으로
하나의 클래스를 장식하는 것처럼 생성자에서 감싸서 새로운 기능을 계속 추가 할 수 있도록 클래스를 만드는 방식
'JAVA > 파일 코드' 카테고리의 다른 글
다양한 타입의 입/출력(나) (0) | 2020.05.29 |
---|---|
Byte단위 입출력(나) (0) | 2020.05.29 |
file write (0) | 2020.05.29 |
file read (0) | 2020.05.29 |
파일 Class (0) | 2020.05.29 |