JAVA/Exception , IO
FileReader/Writer
Lune Bleue
2019. 12. 19. 01:06
문자 기반인 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문으로 돌려보았다.
글자가 깨지지 않고 잘 나오는 것을 볼 수 있다.