傑神之Java緩衝流和序列化的用法

2021-08-15 07:22:57 字數 1829 閱讀 5938

1:定義:在記憶體與硬碟之間建立乙個大小合適的緩衝區,當記憶體和硬碟進行資料訪問時,能提高訪問硬碟的次數,提高效率。

2:分類:緩衝分為位元組緩衝流(bufferedinputstream和bufferedoutputstream)和字元緩衝流(bufferedreader和bufferedwrite)。

3:緩衝流對位元組檔案拷貝的效率測試:

/*

* 測試高效流複製檔案的快慢

*/public

class

demo02

}abstract

class

testtime

// 子類要拋異常 父類就必須有這個異常

public

abstract

void copyfile() throws ioexception;

}//實現類

class

mycopy1

extends

testtime

fis.close();

fos.close();

}}class

mycopy2

extends

testtime

bis.close();

bos.close();

}}

4:緩衝流屬於包裝流,只能對已有的流進行包裝,使原來的流更加強大,執行效率更高,不能關聯檔案。

流總結

* 1.明確 資料來源 和 資料目的地 (要操作什麼)

* 讀資料來源: inputstream reader

* 寫到資料目的地: outputstream writer

* 2. 明確要操作的是什麼內容

* 文字 音訊 ...使用位元組流(全能流)

* 文字(按編碼格式讀寫) 使用字元流

* 3.明確流要在什麼裝置上使用

* 文字

* 網路 通過流進行資料互動---位元組流

* 4.是否需要提高效率

* buffered 緩衝流

* 序列化流與反序列化流

* 序列化 把物件寫進檔案中

* 反序列化 從檔案中把物件讀取出來

* * 物件流

* objectinputstream

* objectoutputstream

* * 注意: 靜態成員變數 是不能進行序列化的

* 序列化 序列是物件 靜態成員變數是是屬於類的

* * 序列化 相當於是 把物件進行持久化

public

static

void

main(string args) throws ioexception, classnotfoundexception

/***@throws filenotfoundexception

*@throws ioexception

*@throws classnotfoundexception

*/public

static

void

readobject() throws filenotfoundexception, ioexception, classnotfoundexception

/***@throws filenotfoundexception

*@throws ioexception

*/public

static

void

writeobject() throws filenotfoundexception, ioexception

Java IO流之使用緩衝流讀寫及序列化

使用緩衝流的好處是,能夠更高效的讀寫資訊,原理是將資料先緩衝起來,然後一起寫入或者讀取出來。bufferedwriter 寫入時使用 newline 達到換行目的 此方法可以跨平台實現 public static void write throws ioexceptionbufferedreader...

序列化流和反序列化流的使用

類要實現序列化,反序列化必須實現serializable介面,否則會出現異常 student s1 newstudent 王 18 序列化 fileoutputstream f2 newfileoutputstream dui.txt objectoutputstream f4 newobjecto...

緩衝流 轉換流 序列化流

1.概念 緩衝流的基本原理,是在建立流物件時,會建立乙個內建的預設大小的緩衝區陣列,通過緩衝區讀寫,減少系統io次數,從而提高讀寫的效率。2.分類 3.位元組緩衝流 例 public class buffereddemo catch ioexception e 記錄結束時間 long end sys...