一:內存流
1.ByteArrayOutputStream (內存輸出流)
public ByteArrayOutputStream()
public byte[] toByteArray() 建立一個新分配的 byte 數組。其大小是此輸出流的當前大小,而且緩衝區的有效內容已複製到該數組中。
public String toString()
2.ByteArrayInputStream (內存輸入流)
public ByteArrayInputStream(byte[] buf)java
二:數據流
1.DataOutputStream(數據輸出流)
能夠將基本數據類型以二進制的方式寫入,附加數據類型。
DataOutputStream(OutputStream out) 數組
2.DataInputStream(數據輸入流)
DataInputStream(InputStream in)
根據數據輸出流的寫入順序依次讀取數據。dom
三:序列化與反序列化
序列化:將對象轉化成二進制形式的過程。易於保存、易於傳輸。
反序列化:將二進制數據轉化成對象的過程。
只有實現了java.io.Serializable接口的類的對象才具備序列化和反序列化的功能。spa
1.ObjectOutputStream(對象輸出流)
ObjectOutputStream(OutputStream out)
writeObject(Object obj) 將指定的對象寫入 ObjectOutputStream,封裝了序列化的過程
2.ObjectInputStream(對象輸入流)
ObjectInputStream(InputStream in)
Object readObject() 封裝了反序列化的功能對象
所謂序列化,指的是序列化對象中的屬性(不包括方法和靜態屬性)。
被transient或static修飾的屬性不能被序列化。接口
serialVersionUID屬性必須一致,才能成功進行序列化與反序列化。
若是不顯示聲明serialVersionUID屬性,則編譯器會默認自動生成,可是
由編譯器生成的serialVersionUID屬性的值會很是敏感。ip
四:RandomAccessFile類 (瞭解)
RandomAccessFile(File file, String mode)
public int skipBytes(int n) 嘗試跳過輸入的n個字節以丟棄跳過的字節
public long getFilePointer()內存
五:StringReader
StringReader(String s)get