一. Input和Output
1. stream代表的是任何有能力產出數據的數據源,或是任何有能力接收數據的接收源。在Java的IO中,所有的stream(包括Input和Out stream)都包括兩種類型:
1.1 以字節為導向的stream
以字節為導向的stream,表示以字節為單位從stream中讀取或往stream中寫入信息。以字節為導向的stream包括下面幾種類型:
1) input stream:
1) ByteArrayInputStream:把內存中的一個緩沖區作為InputStream使用
2) StringBufferInputStream:把一個String對象作為InputStream
3) FileInputStream:把一個文件作為InputStream,實現對文件的讀取操作
4) PipedInputStream:實現了pipe的概念,主要在線程中使用
5) SequenceInputStream:把多個InputStream合並為一個InputStream
2) Out stream
1) ByteArrayOutputStream:把信息存入內存中的一個緩沖區中
2) FileOutputStream:把信息存入文件中
3) PipedOutputStream:實現了pipe的概念,主要在線程中使用
4) SequenceOutputStream:把多個OutStream合並為一個OutStream
1.2 以Unicode字符為導向的stream
以Unicode字符為導向的stream,表示以Unicode字符為單位從stream中讀取或往stream中寫入信息。以Unicode字符為導向的stream包括下面幾種類型:
1) Input Stream
1) CharArrayReader:與ByteArrayInputStream對應
2) StringReader:與StringBufferInputStream對應
3) FileReader:與FileInputStream對應
4) PipedReader:與PipedInputStream對應
2) Out Stream
1) CharArrayWrite:與ByteArrayOutputStream對應
2) StringWrite:無與之對應的以字節為導向的stream
3) FileWrite:與FileOutputStream對應
4) PipedWrite:與PipedOutputStream對應