본문 바로가기

👩‍💻 BackEnd/☕️ 자바 [Java]

[JAVA] 자바 IO

  • 자바 IO : 입출력을 위한 인터페이스와 클래스 

 

- 자바 IO는 크게 byte타입 입출력과 문자단위(char) 입출력클래스로 나뉨. 

  - byte단위 입출력 클래스는 InputStreamOutputStream이라는 추상클래스를 상속받음.

  - 문자(char)단위 입출력 클래스는 ReaderWriter라는 추상클래스를 상속받음.

 

- 4가지 추상클래스 (InputStream,OutputStreamReader,Reader,Writer)를 받아들이는 생성자가 있다면, 다양한 입출력방식을 제공하는 클래스임.

- 4가지 클래스를 받아들이는 생성자가 없으며, 어디로부터 입력받을 것인지, 어디에 쓸 것인지를 나타내는 클래스임. 

 

- 파일로 부터 입력받고 쓰기 위한 클래스 

: FileInputStream, FileOutputStream, FileReader, FileWriter

 

- 배열로 부터 입력받고 쓰기 위한 클래스 

: ByteArrayInputStream, ByteArrayOutputStream, CharReader, CharWriter

   - 해당 클래스들은 어디로부터, 어디에라는 대상을 지정할 수 있는 IO클래스이다. (장식대상 클래스)

 

- DataInputStream, DataOutputStream :  다양한 데이터 형을 입력받고 출력

- PrintWriter는 다양하게 한줄 출력하는 pintln()메소드를 가지고있음

- BufferedReader는 한줄 입력받는 readLine()메소드를 가짐

 

   - 이런 클래스들은 다양한 방식으로 입력하고, 출력하는 기능을 제공함. (장식하는 클래스)