IO雜七雜八流總結概述及構造方法

2021-09-25 15:33:52 字數 3116 閱讀 3520

1、資料輸入輸出流

2、記憶體操作流

3、列印流

4、序列化流

5、隨機訪問流

6、properties

資料輸入和輸出流:

資料輸入流: datainputstream

資料輸出流: dataoutputstream

特點: 可以寫基本資料型別,可以讀取基本資料型別

案例演示:

public class 資料輸入輸出流 

private static void writedata() throws ioexception

}

概述:

a:操作位元組陣列

bytearrayoutputstream

bytearrayinputstream

此流關閉無效,所以無需關閉

b:操作字元陣列

chararraywrite

chararrayreader

c:操作字串

stringwriter

stringreader

注意事項:記憶體操作流,不關聯任何檔案,只是記憶體中對資料進行讀寫

bytearrayoutputstream

此類實現了乙個輸出流,其中的資料被寫入乙個 byte 陣列。緩衝區會隨著資料的不斷寫入而自動增長。可使用 tobytearray () 和 tostring () 獲取資料。

關閉 bytearrayoutputstream 無效。此類中的方法在關閉此流後仍可被呼叫,而不會產生任何 ioexception

public class 記憶體操作流 

}

列印流的特點

a: 列印流只能操作目的地,不能運算元據源(不能進行讀取資料)

b: 可以操作任意資料型別的資料 呼叫print() 方法可以寫任意資料型別

1、位元組列印流

2、字元列印流

案例演示一

public class 位元組列印流 

}

案例演示

二、字元列印流

引數2:true 自動重新整理

如果啟用了自動重新整理,則只有在呼叫 println、printf 或 format 的其中乙個方法時才可能完成此操作

public class 字元列印流 

}

a:

案例演示:

列印流複製文字檔案

public class 列印流複製文字檔案 

reader.close();

printwriter.close();

}}

概述

序列化流的概述

所謂的序列化:就是把物件通過流的方式儲存到檔案中.注意:此物件 要重寫serializable 介面才能被序列化

反序列化:就是把檔案中儲存的物件以流的方式還原成物件

序列化流: objectoutputstream

反序列化流: objectinputstream

比喻:像這樣乙個介面中如果沒有方法,那麼這樣的接**們將其稱之為標記介面(用來給類打標記的,相當於豬肉身上蓋個章)

注意事項:乙個物件可以被序列化的前提是這個物件對應的類必須實現serializable介面

案例演示:

//序列化:把物件儲存到,硬碟上

//反序列化:把物件讀取到記憶體中

//objectoutputstream 序列化流

// objectinputstream 反序列化流

//1.把乙個物件,序列化的硬碟上,有個要求,要求該類實現乙個serializable介面,然後該類的物件,才能正常序列化

//2.再實現了serializable介面之後,最好再寫乙個 public static final long serialversionuid = 42l;

public class mytest3 

private static void writeobj() throws ioexception

}

概述:

randomaccessfile概述 最大特點 能讀能寫

randomaccessfile類不屬於流,是object類的子類。但它融合了inputstream和outputstream的功能。

支援對隨機訪問檔案的讀取和寫入。

randomaccessfile的父類是object , 這個流物件可以用來讀取資料也可以用來寫資料.可以操作任意資料型別的資料.

我們可以通過getfilepointer方法獲取檔案指標,並且可以通過seek方法設定檔案指標。

注意事項:

randomaccessfile 隨機訪問流,此流的特點,能讀能寫,有乙個檔案指標,能夠記錄檔案讀寫的位置

此類的例項支援對隨機訪問檔案的讀取和寫入。隨機訪問檔案的行為類似儲存在檔案系統中的乙個大型 byte 陣列。存在指向該隱含陣列的游標或索引,稱為檔案指標;

public static void main(string args) throws ioexception 

private static void writedata() throws ioexception

}

properties 類表示了乙個持久的屬性集。

properties 可儲存在流中或從流中載入。

屬性列表中每個鍵及其對應值都是乙個字串。

properties父類是hashtable

注意:- 屬於雙列集合,這個集合中的鍵和值都是字串 properties不能指定泛型

public class mytest 

}

public class mytest2 

}

Guava總結4 雜七雜八

乙個是自動分割,乙個是合併.直接看 用逗號隔開.private static final string splite private static final joiner joiner joiner.on splite private static final splitter splitter ...

雜七雜八的經驗總結

1 在基於vmware的target端,通過鍵盤直接輸入ls iohelp之類的命令,提示沒未定義的符號,通過在help中search ls,發現它在usrfslib中定義,於是懷疑系統定製過程中缺少了關於filesystem的file system and disk utilities元件,reb...

jquery 雜七雜八小方法

1.each 和 for 的區別 需求 在動態建立出來 的列表中 如果有乙個 為空 就報錯 for迴圈遍歷arr i text 會取不到值 並且報錯 text is not function 用each 方法就可以 this text 可以取到 如果有乙個為空 就會報錯 並且終止迴圈 返回 fals...