Programming/Java

Java Input/OutputStream 관련

구차니 2014. 3. 21. 23:56
Buffered- 의 경우에는
버퍼되지 않는 스트림을 감싸서 사용한다.

 BufferedInputStream(new FileInputStream()) 

[링크 : http://docs.oracle.com/javase/7/docs/api/java/io/FileInputStream.html]
[링크 : http://docs.oracle.com/javase/7/docs/api/java/io/FileOutputStream.html]
[링크 : http://docs.oracle.com/javase/8/docs/api/java/io/BufferedInputStream.html]
[링크 : http://docs.oracle.com/javase/8/docs/api/java/io/BufferedOutputStream.html]


또한, Reader/Writer는 2byte unicode를 기본 지원하나
다른 스트림은 기본적으로 1byte ascii 이기 때문에 한글 입출력에 문제가 발생할 수 있다.

[링크 : http://docs.oracle.com/javase/tutorial/essential/io/buffers.html]
  [링크 : http://docs.oracle.com/javase/8/docs/api/java/io/BufferedReader.html]
  [링크 : http://docs.oracle.com/javase/8/docs/api/java/io/BufferedWriter.html

  [링크 : http://docs.oracle.com/javase/8/docs/api/java/io/InputStreamReader.html]
  [링크 : http://docs.oracle.com/javase/8/docs/api/java/io/OutputStreamWriter.html]

---
2014.03.24 추가

바이트 스트림(1byte) 는 InputStramOutputStream이 최상위 객체이며
[링크 : http://docs.oracle.com/javase/tutorial/essential/io/bytestreams.html
    [링크 : http://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html]
    [링크 : http://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html]

캐릭터 스트림(2byte / unicode)는 ReaderWrtier가 최상위 객체이다.
[링크 : http://docs.oracle.com/javase/tutorial/essential/io/charstreams.html]
    [링크 : http://docs.oracle.com/javase/8/docs/api/java/io/Reader.html]
    [링크 : http://docs.oracle.com/javase/8/docs/api/java/io/Writer.html