문자를 담는 char형 변수는 2byte의 크기가 있다.
바이트기반 스트림은 1byte씩 읽고 1byte씩 출력을 한다. 그렇기 때문에 바이트기반 스트림으로는
문자의 입출력을 처리하는 데 불편함이 있다.
그래서 따로 문자 데이터의 입출력을 다루는 스트림을 제공한다.
Reader와 Writer 스트림이 모둔 문자기반 스트림의 조상이며, 바이트기반Stream과 마찬가지로
이를 상속받는 스트림들은 필요한 추상 메서드를 구현한다.
문자기반 스트림은 InputStream에서 Reader로, OutputStream에서 Writer로 바뀐다.
나머지는 바이트기반 스트림과 사용방법이 비슷하다.
FileReader fr = null;
fr = new FileReader("파일위치");
텍스트 파일을 읽어오고 싶을 때는 FileReader 스트림의 객체를 생성하며 읽어올 파일의 위치를
생성자의 인자로 넘기면 된다.
문자기반 보조 스트림
문자기반 스트림에도 성능을 향상시키기 위한 보조 스트림이 있다.
문자기반 스트림을 생성한 후 그 인자를 보조 스트림으로 넘겨주면 된다.
FileReader fr = null;
fr = new FileReader("파일 위치");
BufferedReader br = new BufferedReader(fr);
스트림의 예외처리
입출력의 모든 메서드는 IOException이 발생할 가능성이 있다. --> 예외처리를 해줘야함.
throw를 사용해 예외를 던져서 처리하는 것 보다, try-catch문으로 처리하는 것이 좋다.
사용한 스트림을 오류 여부와 관계없이 반드시 닫아주기 위해 finally 에서 close() 메서드를 사용한다.
파일복사 예외처리
'Backend > JAVA' 카테고리의 다른 글
[JAVA] 예외 처리 Exception (0) | 2022.03.02 |
---|---|
[JAVA] 바이트기반 Stream (0) | 2022.02.24 |
[JAVA] Stream으로 파일 불러오기,복사,저장 (0) | 2022.02.24 |
[JAVA] IO와 Stream (0) | 2022.02.24 |
[JAVA] 함수 method (0) | 2022.02.23 |