문자 기반인 Reader와 Writer를 보자
문자기반인 Reader와 Writer는 2byte씩 저장하고 읽어 온다.

저장되는 방식을 제외한 형식은 OutputStream에서 보았던것과 같다.
trycatch문을 try catch with resource 문으로 변경해 본다(inputStream/OutputStream/Reader 도 형식은 동일하다)

형식은 try(입/출력 스트림){ }catch(익셉션명 변수명){ } 이다.
자동으로 close() 를 해주기 때문에 finally문을 생략해도 되게 되었다.

위의 Writer를 실행하면 파일에 저장되는 값이다.
다음은 Reader를 보자

여기서도 .read()의 마지막의 반환 값은 -1 이지만 문제는 파일크기가 파일 내의 문서의 길이가 아니라는 것이다.

보다시피 파일 사이즈의 크기보다 빨리 읽어서 -1이 계속 반환 되는 것을 볼 수 있다. 저것을 char형으로 바꿔서 읽어보자


while문으로 돌려보았다.


글자가 깨지지 않고 잘 나오는 것을 볼 수 있다.
'JAVA > Exception , IO' 카테고리의 다른 글
보조스트림 : Byte TO Char (0) | 2019.12.19 |
---|---|
보조스트림 : Buffered (0) | 2019.12.19 |
FileInput/OutputStream (0) | 2019.12.19 |
IO(입출력) (0) | 2019.12.18 |
예외처리 (0) | 2019.12.17 |