[JAVA] 자바 IO
- 자바 IO : 입출력을 위한 인터페이스와 클래스
- 자바 IO는 크게 byte타입 입출력과 문자단위(char) 입출력클래스로 나뉨.
- byte단위 입출력 클래스는 InputStream과 OutputStream이라는 추상클래스를 상속받음.
- 문자(char)단위 입출력 클래스는 Reader와 Writer라는 추상클래스를 상속받음.
- 4가지 추상클래스 (InputStream,OutputStreamReader,Reader,Writer)를 받아들이는 생성자가 있다면, 다양한 입출력방식을 제공하는 클래스임.
- 4가지 클래스를 받아들이는 생성자가 없으며, 어디로부터 입력받을 것인지, 어디에 쓸 것인지를 나타내는 클래스임.
- 파일로 부터 입력받고 쓰기 위한 클래스
: FileInputStream, FileOutputStream, FileReader, FileWriter
- 배열로 부터 입력받고 쓰기 위한 클래스
: ByteArrayInputStream, ByteArrayOutputStream, CharReader, CharWriter
- 해당 클래스들은 어디로부터, 어디에라는 대상을 지정할 수 있는 IO클래스이다. (장식대상 클래스)
- DataInputStream, DataOutputStream : 다양한 데이터 형을 입력받고 출력
- PrintWriter는 다양하게 한줄 출력하는 pintln()메소드를 가지고있음
- BufferedReader는 한줄 입력받는 readLine()메소드를 가짐
- 이런 클래스들은 다양한 방식으로 입력하고, 출력하는 기능을 제공함. (장식하는 클래스)