java.io 패키지
자바의 입출력은 모든 하드웨어에 독립적으로 설계되어 있다.
자바는 입출력을 스트림(stream)으로 처리한다.
- 스트림 : 순서가 있는 일련의 데이터를 의미하는 추상적인 개념 (단방향)
: 입출력 데이터의 추상적인 표현
문자 스트림 :16비트 (처리단위가 2Byte)문자나 문자열 <-(한글)
바이트 스트림 :1바이트(8비트)를 읽고 쓰기 위한 스트림
- io 패키지에서 입출력처리는 순차처리, 단방향만 가능하다.
- SQL문을 이용한 데이터 처리시에는 JDBC개념을 이용한다.
- File 클래스로 객체를 정의할 경우 데이터 입출력을 할 수 없다.
- 파일 객체에서 다루는 것은 파일 및 디렉토리의 등록정보를 저장한다.
: String directoryPath -> c:\\SUBa.txt or c://SUBa.txt
자바는 입출력을 위한 클래스들을 java.io 패키지로 제공한다.
프로세스 : 입력 -> 입력버퍼 -> 메모리(입력,출력 별도로 변수로 저장) -> 출력버퍼
(버퍼 : 입출력 처리속도를 개선)
BufferedReader : 입력버퍼를 생성
FileReader : 파일상으로부터 캐릭터(2byte)단위로 입력받고자 할 때
BufferedWriter : 출력버퍼 생성
FileWriter : 파일상으로 캐릭터(2byte)단위로 출력
PrintWriter print,printf,println -> 중복함수 지정되어있다
문자 스트림
Writer 클래스와 Reader 클래스
문자스트림의 입출력에 필요로 되는 다양한 메소드를 제공하는 추상 클래스
객체정의 X
Writer 클래스
void close() 출력 스트림을 닫는다 (출력버퍼를 비우고 해당파일을 닫는다)
void flush() 출력 버퍼에 저장된 모든 데이터를 출력 장치로 전송
Reader 클래스
void mark(int numChars) 입력 스트림의 현재의 위치에 mark 한다.
void reset() 입력 스트림의 입력 시작 부분을 현재의 위치에서
가장 가까운 이전의 mark 위치로 설정
int skip(long numChars) numChars로 지정된 문자 수만큼을 스킵하고
스킵된 문자의 수를 반환
입출력 예외 처리 (-> try{}catch{})
FileNotFoundException - 파일 없는경우
IOException - 입출력과정에서의오류
OutputStreamWriter 클래스 + InputStreamReader 클래스
댓글