Java-diary/REFERENCE TYPE

[Class][Java i/o]InputStreamReader/OutputStreamWriter

reallygeorge? 2020. 2. 6. 00:07
  • char는 바이트 2개가 모여서 구성한 데이터이기 때문에 byte와 char를 호환할 수 있다.
  • char와 byte의 통로 역할을 하는 것이 InputStreamReader/OutputStreamWriter
  • byte에서 char로 넘어갈 때 지정된 인코딩에 따라 문자로 변환된다.
  1. 읽어들이기 위한 파일에 가나다라라는 데이터를 쓴 후 
  2. byte stream 클래스로 받아온다
  3. InputStreamReader로 변환하여 읽어온다. 

데이터

 

결과 값은 '가'가 나온다 2바이트씩 읽어오기 때문이다.

하지만  1바이트로 읽은후 나머지를 2바이트로 읽으면  가라는 글자가 나오지않고 다른 글이 나오게 된다

 

 

 

 

 

*readLine()

BufferedClass의 method 이다 .

1줄씩 읽어온다. 값이 없으면 null을 반환한다. 

\r\n을 써주어야 한다. 이어서 쓰지 않는다.

 

OutputStreamWriter

  • OutputStreamWriter는 byte 형식을 char로 바꾸어 저장하도록 하는 역할을 한다.
  • System.in으로 프로그램 내에서 문자 입력 ->ascii 코드로 변환 ->OutputStreamWriter로 문자로 변환->FileWriter 로