Input과 Output의 약자로, 컴퓨터 내/외부 장치와 프로그램 간의 데이터를 주고 받는 것
입출력 데이터를 처리할 공통적인 방법으로 스트림을 사용한다.
🌼 스트림 (Stream) : 서로 다른 프로그램 또는 장치 간의 데이터가 이동하는 통로 (단방향)
파일 또는 폴더를 다룰 수 있는 자바 제공 클래스
✔ 절대경로 → File f1 = new File("C:/dev/test1.txt");
✔ 상대경로 → File f1 = new File("test1.txt");
입출력 장치에서 데이터를 읽고 쓰기 위해 자바에서 제공하는 클래스 (단방향)
하나의 스트림으로 입출력을 동시에 수행할 수 없으므로 2개의 스트림이 필요하다.
파일에 작성된 내용을 1byte씩 입력 받는 InputStream의 하위 클래스
만약 파일이 존재하지 않으면 FileNotFoundException 예외 발생 → 예외처리 필수
FileInputStream("C:/dev/test.txt");
read( ) : 입력 스트림으로부터 1byte씩 읽어오는 메서드
더 이상 읽어올 데이터가 없으면 -1 반환
close( ) : 사용한 시스템 자원을 반환 후 입력 스트림을 닫음
파일에 작성된 내용을 문자(2byte) 단위로 읽어오는 Reader의 하위 클래스
파일을 1byte 단위로 저장할 때 사용하는 OutputStream의 하위 클래스
경로에 작성된 파일이 존재하지 않으면 자동으로 새 파일을 생성하며,
이미 파일이 존재하는 경우 덮어쓰기가 이루어지기 때문에
기존 파일에 이어서 계속 작성하고 싶다면 파일 경로 뒤에 true를 작성해준다.
FileOutputStream("C:/data/test.txt", true);
write( ) : 출력 스트림으로부터 1byte씩 내보내는 메서드
close( ) : 사용한 시스템 자원을 반환 후 출력 스트림을 닫음
파일을 문자(2byte) 단위로 저장할 때 사용하는 Writer의 하위 클래스