dataoutstream標(biāo)準(zhǔn)輸入輸出流:
源數(shù)據(jù)源是標(biāo)準(zhǔn)輸入設(shè)備(鍵盤鼠標(biāo)觸摸屏之類)的輸入設(shè)備,在Java中使用system。in得到一個inputstream字節(jié)輸入流。標(biāo)準(zhǔn)輸入流以字節(jié)流流入內(nèi)存顾孽,如果在控制臺 中輸入字符久信,字符以默認(rèn)編碼(win簡體:gbk)編碼成字節(jié)進(jìn)入標(biāo)準(zhǔn)輸入流豁翎。
標(biāo)準(zhǔn)輸出流(printstream)數(shù)據(jù)目的地是標(biāo)準(zhǔn)輸出設(shè)備(顯示器之類)的輸出設(shè)備罪塔,在Java中用system投蝉。out得到一個printstream字節(jié)輸出流(字節(jié)打印流).
序列化:
把內(nèi)存中的對象永久保存到硬盤的過程稱為對象序列化,也叫持久化征堪,把硬盤持久化的內(nèi)存恢復(fù)的內(nèi)存的過程稱為對象反序列化
serializable:
類通過實(shí)現(xiàn)Java瘩缆。io。serializable接口以啟用其序列化功能佃蚜,為實(shí)現(xiàn)此接口的類將無法 使其任何狀態(tài)系列化或反序列化庸娱,并拋出異常。
序列化對象:
objectoutputstream繼承于OutputStream谐算,專門用于把對象序列化到本地熟尉,提供了writexxx,writeobject(用于寫入一個對象)洲脂。
反序列化對象:
objectinputstream繼承于inputstream斤儿,專門用于把本地持久化內(nèi)容反序列化到內(nèi)存,提供了readxxx恐锦,readobject(用于 讀取一個序列化內(nèi)容并返回一個對象)
序列化版本:
當(dāng)序列化完成后往果,后期升級程序中的類(student),此時在反序列化內(nèi)容時會出現(xiàn)異常一铅。
transient:
開發(fā)過程中陕贮,如果想忽略某些字段不讓其序列化,可以使用? ? transient修飾馅闽。
dateinputstream/dataoutputstream:
datainputstream繼承于inputstream飘蚯,允許應(yīng)用程序以與機(jī)器無關(guān)方式從底層輸入流中讀取基本Java數(shù)據(jù)類型。dataoutputstream繼承OutputStream福也,專門用于把基本Java數(shù)據(jù)類型寫入輸出流局骤,提供writexxx寫入基本Java數(shù)據(jù)類型。它們特別適合讀取寫入在網(wǎng)絡(luò)傳輸過程中的數(shù)據(jù)流暴凑。以什么順序?qū)懭牖綣ava數(shù)據(jù)類型峦甩,就以什么順序讀取基本Java數(shù)據(jù)類型。