【Java】I/O類庫

InputStream 與 OutputStream

在Java 1.0中,限定全部與輸入有關的類都應繼承於InputStream,全部與輸出有關的類都應繼承於OutputStream。java

這些類的繼承圖可參看這裏1。其中,FilterInputStream爲decorator類提供基類,至於Decorator Design Pattern可參看ProgramCreek2jsp

Reader 與 Writer

Java 1.1對基本的I/O流進行了重大的修改,引入了Reader 與 Writer類,兼容Unicode與面向字符的I/O功能;同時InputStream 與 OutputStream在面向字節形式的I/O中仍有重要的應用。spa

有關Reader的類圖可參看這裏3。下面給出InputStream、 Reader的類繼承圖,OutputStrem與Writer的類繼承圖與之類似。code

圖片描述

圖片描述

代碼示例

java.io.InputStreamReader(InputStream) (returns a Reader)
java.io.OutputStreamWriter(OutputStream) (returns a Writer)

上面的代碼表示經過InputStream返回一個Reader,用到了Adapter Design Pattern4繼承

//System.in is an InputStream object
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));

//txt file as input
BufferedReader input = new BufferedReader(new FileReader("test.txt"));

BufferedReader對讀入的文件進行緩衝。上面的代碼用到了Decorator Design Pattern2圖片


  1. Java Design Pattern: Adapter
  2. java io class hierarchydiagram
  3. Java Design Pattern: Decorator – Decorate your girlfriend
  4. Java I/O class diagram
相關文章
相關標籤/搜索