第十六節IO流

2021-08-08 16:58:15 字數 2080 閱讀 4802

6.outputstream 寫的操作

需求:將data資料寫到 某檔案中

保留資料到本地檔案中 如果檔案不存在 輸出流 會自動建立乙個檔案 然後寫出內容

但是目錄不存在 將會丟擲異常

write( ) 將引數所表示的內容寫出 該方法執行一次 就表示寫出衣蛾乙個位元組

wirte(byte) 將引數所有的位元組陣列中的資料 全部寫出

write(byte,int off ,int len)

string類

位元組陣列 getbytes()

字元陣列 tochararray()

建構函式 第二個引數 true 是追加 預設false 覆蓋

6.字元流 以字元為單位 reader

read( ) 讀入乙個字元 返回值 是讀取的資料 讀到末尾返回-1

read(char) ui次讀取多個字元 最多 讀取到是陣列長度的個數 實際讀到的長度是 返回zh

值 len 資料存入陣列中 讀到末尾返回-1

read(char,int off,int len)

一次讀入多個字元 最多讀取len長度 實際讀入的數量是方法的返回值

從 off下標開始 存入陣列中 讀取到 末尾返回-1\

7 字元流 以字元為單位 寫出資料 writer

「\r\n」 換行

———————————–字元流

1.writer

字元輸出流主要將資料寫入該流得自帶緩衝區中

flush 表示舒心緩衝區,將緩衝區的內容 寫入到檔案中

字元流必須要重新整理或者關閉

字元流本身是自帶一塊快取區的位元組流 嘗試去讀

如果遇到乙個』a』就在ascll編碼表裡找 找到則輸出,但是如果是漢字,先讀取半個,在編碼表

中尋找 快取起來 再讀另一半 組合在一起 輸出字元

2.轉換流

位元組和字元的轉換:

inputstream is = system.in; 控制台輸入輸出流

printstream ps = system.out;

輸入流 : inputstreamreader(inputstream is)

輸出 : outputstreamwriter(outputstram os)

訪問檔案盡量使用緩衝流 特別是大檔案

3.緩衝流

bufferedreader 緩衝字元輸入流

new bufferredreader(reader及其子類)

readline() string 型別 讀一行

bufferedwriter

newline 換行

bufferedinputstream

bufferedoutputstream

4.記憶體流

因為都寫在記憶體中所以操作文字檔案時 無論使用位元組還是字元流 都不會出現亂碼現象

本質:自己建立一塊陣列 用於儲存寫入的資料

特點 陣列 :會隨著資料的容量增加

bytearrayoutputstream 將資料存入到記憶體流中

取出 tobytearray() byte

tostring () string

使用bytearrayinputstream 從記憶體中一點點取出資料

5.物件流 object 儲存物件到本地檔案中 將物件轉為乙個二進位制編碼存入檔案中–物件序列化

將這些二進位制編碼 轉為物件的過程 叫反序列化.

objectintputstream 二進位制編碼轉為物件

objectoutputstream 將物件轉為二進位制編碼儲存到本地檔案中.

notserializableexception 不能序列化異常

transient 該屬性不會被序列號

要定義序列號 當類發生變化 序列號不會改變

靜態 屬性 不會被序列化 因為它屬於類而不是物件

6.隨機訪問流

randomaccessfile 可以設定游標在檔案中位置

getfilepointer 獲取游標位置

skipbytes()可以跳過n個位元組

seek() 設定游標距離開頭有幾個位元組

第十六節 載入Firefox配置

載入瀏覽器配置,需要用firefoxprofile profile directory 這個類來載入,profile directory既為瀏覽器配置檔案的路徑位址 一 遇到問題 2.用指令碼去開啟瀏覽器時候,其實是重新開啟了乙個程序,跟手動開啟瀏覽器不是乙個程序。所以沒主動載入外掛程式,不過sel...

php第十六節課

分頁 構造方法,可以設定分頁類的屬性 param int total 計算分頁的總記錄數 param int listrows 可選的,設定每頁需要顯示的記錄數,預設為25條 param mixed query 可選的,為向目標頁面傳遞引數,可以是陣列,也可以是查詢字串格式 param bool o...

C 第十六節課

out using system using system.collections.generic using system.linq using system.text using system.threading.tasks namespace out 傳值,只將這個變數的值給拿走,不返還,除非...