문자 기반 스트림: (File, Piped) Reader/Write
·
자바/입출력 IO
1. Reader와 Writer - 바이트 기반 스트림의 조상이 InputStream과 OutputStream인 것과 같이 문자 기반 스트림 에서는 Reader와 Writer가 그와 같은 역할을 한다. - byte 배열 대신 char 배열을 사용한다는 것 외에는 바이트 기반 스트림과는 다르지 않다. - 문자 기반 스트림은 단순히 2 byte로 스트림을 처리하는 것만을 의미하지 않고, 문자 데이터를 다루는데 필요한 또 하나의 정보는 인코딩이 있다. - 그러므로, Reader는 특정 인코딩을 읽어서 유니코드로 변환하고 Writer는 유니코드를 특정 인코딩 으로 변환하여 저장한다. 2. FileReader와 FileWriter - FileInputStream과 FileOutputStream의 방법이랑 다르지 ..
보조 스트림과 문자 기반 스트림
·
자바/입출력 IO
1. 보조 스트림이란 - 보조 스트림은 실제 데이터를 주고받는 스트림이 아니기 때문에 입출력을 할 수 없지만, 스트림의 기능을 향상시키거나 새로운 기능을 추가할 수 있다. - 그러므로, 주 스트림을 먼저 생성 후, 이를 이용해서 보조 스트림을 생성해야 한다. - 아래의 예시를 보고 이해하자. Ex) test.txt라는 파일을 읽기위해 FileInputStream을 사용할 때, 입력 성능을 향상시키기 위해 버퍼를 사용하는 보조 스트림인 BufferedInputStream을 사용하는 코드는 다음과 같다. FileInputStream fis = new FileInputStream("test.txt"); // 먼저 주 스트림을 생성한다. BufferedInptuStream bis = new BuffedInput..