자바에서 모든 입출력은 스트림을 통해 이루어진다
입출력 장치는 매우 다양하기 때문에 장치에 따라 입출력 부분을 일일이 다르게 구현하면 호환성이 떨어진다.
자바는 입출력 장치와 무관하고 일관성 있게 프로그램을 구현 할 수 있도록 가상 통로인 스트림을 제공한다
자바에서 입출력 기능을 사용하는곳은
- 파일 디스크
- 키보드
- 모니터
- 메모리 입출력
- 네트워크
입력스트림
어떤 대상으로 부터 자료를 읽어 들일 때 사용하는 스트림출력 스트림
사용자가 쓴 글을 파일에 저장할때 사용하는 스트림
스트림은 단방향으로 이동하기 때문에 동시에 입력과 출력을 할 수 없다.
원래 자바의 스트림은 byte단위로 입출력이 이루어진다
그러나 자바에서 하나의 문자를 나타내는 char형은 2바이트이다
입출력 중 가장 많이 사용하는 자료인 문자를 위해 => 문자 스트림 별도 제공
바이트 스트림
- FileInputStream
- BufferedInputStream
- FileOutputStream
- BufferedOutputStream
문자 스트림
- FileReader
- BufferedReader
- FileWriter
- BufferedWriter
