缓冲流、转换流、序列化流、打印流
第一章 緩沖流
緩沖流,也叫高效流,按照數據類型分類:
- 字節緩沖流:BufferedInputStream,BufferedOutputStream
- 字符緩沖流:BufferedReader,BufferedWriter
緩沖流的基本原理,是在創建流對象時,會創建一個內置的默認大小的緩沖區數組,通過緩沖區讀寫,減少系統IO次數,從而提高讀寫的效率。
字節緩沖流
構造方法
- public BufferedInputStream(InputStream in) :創建一個 新的緩沖輸入流。
- public BufferedOutputStream(OutputStream out): 創建一個新的緩沖輸出流。
字符緩沖流
構造方法
- public BufferedReader(Reader in) :創建一個 新的緩沖輸入流。
- public BufferedWriter(Writer out): 創建一個新的緩沖輸出流。
特有方法
- BufferedReader:public String readLine(): 讀一行文字。
- BufferedWriter:public void newLine(): 寫一行行分隔符,由系統屬性定義符號。
?
第二章 轉換流
InputStreamReader類
轉換流java.io.InputStreamReader,是Reader的子類,是從字節流到字符流的橋梁。它讀取字節,并使用指定的字符集將其解碼為字符。
構造方法
- InputStreamReader(InputStream in): 創建一個使用默認字符集的字符流。
- InputStreamReader(InputStream in, String charsetName): 創建一個指定字符集的字符流
OutputStreamWriter類
轉換流java.io.OutputStreamWriter ,是Writer的子類,是從字符流到字節流的橋梁。使用指定的字符集將字符編碼為字節。
構造方法
- OutputStreamWriter(OutputStream in): 創建一個使用默認字符集的字符流。
- OutputStreamWriter(OutputStream in, String charsetName): 創建一個指定字符集的字符流。
?
第三章 序列化
Java 提供了一種對象序列化的機制。用一個字節序列可以表示一個對象,該字節序列包含該對象的數據、對象的類型和對象中存儲的數據等信息。字節序列寫出到文件之后,相當于文件中持久保存了一個對象的信息。
反之,該字節序列還可以從文件中讀取回來,重構對象,對它進行反序列化。對象的數據、對象的類型和對象中存儲的數據信息,都可以用來在內存中創建對象。
?
ObjectOutputStream類
java.io.ObjectOutputStream 類,將Java對象的原始數據類型寫出到文件,實現對象的持久存儲。
構造方法
? ? ? ?public ObjectOutputStream(OutputStream out): 創建一個指定OutputStream的ObjectOutputStream。
序列化操作
?
- 該類必須實現java.io.Serializable 接口,Serializable 是一個標記接口,不實現此接口的類將不會使任何狀態序列化或反序列化,會拋出NotSerializableException 。
- 該類的所有屬性必須是可序列化的。如果有一個屬性不需要可序列化的,則該屬性必須注明是瞬態的,使用transient 關鍵字修飾。
ObjectInputStream類
ObjectInputStream反序列化流,將之前使用ObjectOutputStream序列化的原始數據恢復為對象。
構造方法
? ? ? ? public ObjectInputStream(InputStream in): 創建一個指定InputStream的ObjectInputStream。
反序列化操作
? ? ? ?public final Object readObject () : 讀取一個對象。
第四章 打印流
PrintStream類
構造方法
? ? ? ?public PrintStream(String fileName): 使用指定的文件名創建一個新的打印流。
? ? ? ?PrintStream ps = new PrintStream("ps.txt");
總結
以上是生活随笔為你收集整理的缓冲流、转换流、序列化流、打印流的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 端午安康!
- 下一篇: IDEA的UML图介绍(一)