課程
/后端開發(fā)
/Java
/文件傳輸基礎(chǔ)——Java IO流
this.stuage=s.readInt(); 可以使用this.stuage=s.readInt();代替嗎? 怎么知道反序列化的元素是stuaged的?
2016-07-07
源自:文件傳輸基礎(chǔ)——Java IO流 6-2
正在回答
stuage是通過s.writeInt(stuage)寫入的,這里只有一個transient?int型,讀的時候自然沒問題,如果有兩個transient?int型是按照寫入的順序讀取的。假設(shè)stusex=1,stuage=20,比如寫入順序是:
s.writeInt(stusex);
s.writeInt(stuage);
第一次執(zhí)行s.readInt()會讀取1,
再次執(zhí)行s.readInt()會讀取20,
如果還想再執(zhí)行s.readInt()會報java.io.EOFException異常。
每天一學 提問者
反序列化就是把byte重新轉(zhuǎn)為原本類型
序列化之后是byte格式的,readInt正好可以讀取byte類型將其轉(zhuǎn)為int型,底層機制是通過位運算實現(xiàn)的,你可以自己去看,int32位通過左移24位 左移16位 左移8位 左移0位四次讀取,再具體我也忘了
舉報
為您介紹IO流的使用,以及對象的序列化和反序列化的內(nèi)容
2 回答什么是序列化和反序列化
5 回答在自行序列化的時,在自行序列化的類中重寫的方法writeObject和readObject方法是怎么被調(diào)用的,程序中也沒有用該類對象調(diào)用這兩個方法???具體的邏輯是怎樣的呢,是自行就被調(diào)用了嗎?
2 回答關(guān)于調(diào)用自定義的序列化方法的問題
2 回答序列化和反序列化具體用在什么地方
1 回答序列化和反序列化問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-08-15
stuage是通過s.writeInt(stuage)寫入的,這里只有一個transient?int型,讀的時候自然沒問題,如果有兩個transient?int型是按照寫入的順序讀取的。假設(shè)stusex=1,stuage=20,比如寫入順序是:
s.writeInt(stusex);
s.writeInt(stuage);
第一次執(zhí)行s.readInt()會讀取1,
再次執(zhí)行s.readInt()會讀取20,
如果還想再執(zhí)行s.readInt()會報java.io.EOFException異常。
2016-07-08
反序列化就是把byte重新轉(zhuǎn)為原本類型
序列化之后是byte格式的,readInt正好可以讀取byte類型將其轉(zhuǎn)為int型,底層機制是通過位運算實現(xiàn)的,你可以自己去看,int32位通過左移24位 左移16位 左移8位 左移0位四次讀取,再具體我也忘了