讀書筆記 TiJava IO系統

2021-05-27 23:17:56 字數 1768 閱讀 1123

•可表示檔案也可表示目錄

–list

–listfiles

•一般先用緩衝裝飾,再用其他裝飾

•當使用dataoutputstream時,寫字串並且讓datainputstream能夠恢復它的唯一可靠做法是用utf-8編碼,即使有writeutf和readutf方法

•典型用法:

–datainputstream in =new datainputstream(new bufferedinputstream(new bytearrayinputstream(bytebuf)))

–datainputstream in =new datainputstream( newbufferedinputstream( newfileinputstream("data.txt")));

•典型用法

–dataoutputstream out= new dataoutputstream(new bufferedoutputstream( newfileoutputstream("data.txt")));

•典型用法

–bufferedreader in =new bufferedreader(new filereader(filename));

•典型用法

–printwriter w =new printwriter(new bufferedwriter(new outputstreamwriter(new fileoutputstream(filename))));

–printwriter w =new printwriter(filename);

以上類圖中,灰色類為裝飾器類,白色為被裝飾類!

•system.out/err都是printstream,可以直接使用

•但system.in是乙個inputstream,使用前必須先包裝

•預設用法——serializable

•objectoutputstream

–writeobject

•objectinputstream

–readobject

•反序列化時,必須保證虛擬機器能找到.class檔案

•實現serializable,並加了2個方法

–writeexternal

–readexternal

•這2個方法在序列化和反序列化時被自動呼叫

•區別:使用externaliable的類,必須有預設建構函式。而serializable不需要

•實現serializable

•類中新增writeobject和readobject,簽名如下

–privatevoid writeobject(objectoutputstream s)throws ioexception;

–privatevoid readobject(objectinputstream s)throws ioexception,classnotfoundexception;

•簽名必須是private的

•偏好、喜好

•windows下,操作的是登錄檔

•參考:

•通道:channel

–如filechannel

•緩衝:buffer

–如:bytebuffer

•大端:be(bigendian)

–乙個儲存字的低位儲存在記憶體的高位址,高位儲存在記憶體的低位址

•小端:le(littleendian)

–乙個儲存字的低位儲存在記憶體的低位址,高位儲存在記憶體的高位址

•bytebuffer預設使用be

推薦系統讀書筆記

標籤 空格分隔 演算法 基於內容的推薦 基於知識的推薦 混合推薦方法 主要思想 給定乙個評分資料集和當前 活躍 使用者的id作為輸入,找出與當前使用者過去有相似偏好的其它使用者,這些使用者被稱為對等使用者或最近鄰.物品1物品2 物品3物品4 物品5alice53 44?使用者131 233使用者24...

讀書筆記 《Linux系統移植》

程序描述符 每個程序都會被賦予優先順序 static prio 程序的優先順序是基於載入及其他幾個因素動態決定的。優先順序值越低,實際的優先順序越高 程序排程 排程程式執行時,要在所有可執行狀態的程序中 選擇最值得執行的程序 選擇依據policy priority counter rt priori...

作業系統讀書筆記

前言管程 訊號量體系有內容如下 整型訊號量 記錄型訊號量 and型訊號量 訊號量集。最容易搞混的就是整型訊號量和記錄型訊號量,理解之後很容易區分,記住一點 整型訊號量不遵循 讓權等待 的原則,只要待操作的訊號量s 0,就會處於一種 忙等待 的狀態,更嚴重的是,一旦事件發生,會導致一種稱之為 驚群現象...