IO流(三)
五、Java序列化
概述
Java序列化是指把Java對象轉換為字節序列的過程
Java反序列化是指把字節序列恢復為Java對象的過程
當兩個Java進程進行通信時,發送方需要把這個Java對象轉換為字節序列,然后在網絡上傳送;另一方面,接收方需要從字節序列中恢復出Java對象
Java序列化API
ObjectOutputStream:表示對象輸出流
writeObject(Object obj)方法可以對參數指定的obj對象進行序列化,把得到的字節序列寫到一個目標輸出流中。
ObjectInputStream:表示對象輸入流
readObject()方法源輸入流中讀取字節序列,再把它們反序列化成為一個對象,并將其返回。
Java對象序列化要求
假定一個Person類,它的對象需要序列化
只有實現了Serializable或Externalizable接口的類的對象才能被序列化,否則拋出異常
注意事項
若Person類僅僅實現了Serializable接口,則可以按照以下方式進行序列化和反序列化
ObjectOutputStream采用默認的序列化方式,對Person對象的非transient的實例變量進行序列化。
ObjcetInputStream采用默認的反序列化方式,對Person對象的非transient的實例變量進行反序列化。
六、內存操作流
操作字節數組
ByteArrayInputStream
ByteArrayOutputStream
操作字符數組
CharArrayReader
CharArrayWrite
操作字符串
StringReader
StringWriter
內存操作流一般用于處理臨時信息,因為臨時信息不需要保存,使用后就可以刪除
七、標準輸入輸出流
System類中的字段:in,out。
它們各代表了系統標準的輸入和輸出設備。
默認輸入設備是鍵盤,輸出設備是顯示器。
System.in的類型是InputStream.
System.out的類型是PrintStream是OutputStream的子類FilterOutputStream 的子類.
八、Properties集合
概述
Properties作為Map集合的使用
Properties的特殊功能
public Object setProperty(String key,String value)
public String getProperty(String key)
public Set<String> stringPropertyNames()
Properties和IO流的結合使用
public void load(Reader reader)
public void store(Writer writer,String comments)
轉載于:https://www.cnblogs.com/ljlaction/p/9758373.html
總結
- 上一篇: 邻接矩阵无向图
- 下一篇: 在Asp.net core 项目中操作M