Java中的IO

NO IMAGE

1.Java中的輸入:

- InputStream:面向位元組
- Reader:可以處理Unicode,面向字元

2.Java中的輸出:

- OuputStream:面向位元組
- Writer:可以處理Unicode,面向字元

Reader和Writer主要是為了解決國際化

幾乎所有的Java I/O “流”類都有相應的Reader和Writer類。

- InputStream            ----->        InputStreamReader
- OutputStream         ----->        OutputStreamReader
- FileInputStream      ----->        FileReader
- FileOutputStream   ----->        FileWriter    
- StringBufferInputStream ----->        StringReader
- ByteArrayInputStream    ----->        CharArrayReader
- ByteArrayOutputStream ----->        CharArrayWriter
- PipedInputStream          ----->        PipedReader
- PipedOutputStream       ----->        PipedWriter

3.更改流的行為

對於輸入流和輸出流來說,為了滿足特殊需要,我們會使用FileInputStream和FileOutputStream的修飾器的子類。
常用的有:
BufferedInputStream —–> BufferedReader(提供快取支援,有readLine函式)
BufferedOutputStream —–> BufferedWriter
DataInputStream
如果需要用到readLine方法,則不能使用DataInputStream

4.標準輸入輸出

可以立即使用System.out、System.err,但在讀取System.in之前要對其進行封裝