已采納回答 / tlojy
stuage是通過s.writeInt(stuage)寫入的,這里只有一個transient?int型,讀的時候自然沒問題,如果有兩個transient?int型是按照寫入的順序讀取的。假設stusex=1,stuage=20,比如寫入順序是:s.writeInt(stusex); s.writeInt(stuage);第一次執行s.readInt()會讀取1,再次執行s.readInt()會讀取20,如果還想再執行s.readInt()會報java.io.EOFException異常。
2016-07-07
已采納回答 / 要做Java大師
public static String toHexString(int i)這個是本方法的聲明,一個一個解答問題,它的參數是整型的。在java中int類型就是四個字節的,所以如果實參是四個字節是不會發生類型轉換的啊,其實有點沒明白為什么問這個問題,是不是因為視頻中出現的 .toHexString(char b&0xff)這個句子,會覺得里面是16位的數據?其實做這個主要是為了防止char轉成int 類型由于計算機補碼存儲方式的原因,要專門設置最高位符號位。由于char類型是16位二進制的(兩字節...
2016-07-06
已采納回答 / 大咪
你這個demo\\out.date是你自己創建的,用老師之前將過有一個Rafdemo的例子教你用代碼如何創建目錄和目錄下的子文件,你這個必然是因為在同級目錄中沒有這個文件,所以編譯器找不到位置,才會報錯。同級目錄就是你項目里存的那個目錄,右擊包的屬性可以查看你的工作存儲空間在哪里。
2016-07-06
已采納回答 / 上進的程序員
我記得老師好像說過,如果文件大小超出字節數組的大小,那么字節數組會被重復使用。舉個例子,如果文件大小是1m,數組大小是100k,那么數組會被使用十次,每一次都會被刷新。字節數組寫文件也是一樣。
2016-07-03
已采納回答 / 怒放的生命012
&是計算機實行的與操作,0xff是十六進制的表現形式 和二進制 1111 1111 是一樣的, 代表一個字節;&操作是兩個對相應相等的 才相等 ? 比如 1000 0101 & 0001 0001 ---> 結果就是 0000 0001題上用 & 0xff 就是為了截取 ?低8位 作為一個字節 存入字節數組中去 ?
2016-07-03
已采納回答 / qq_我有我的范兒_0
我說一下我的理解吧:說之前首先要說一下概念,序列化就是將對象轉換為字節序列,通俗點就是講創建出來的對象狀態保存起來(構造函數初始化之后的)父類如果沒有實現序列接口,而子類實現序列接口,那么父類對象就不會被序列化,也就不會被保存,而子類卻可以被序列化,即保存Java中構造一個對象,首先得先構造父類對象,才會構造子類對象,所以在反序列化子類時,就會調用父類構造方法來作為默認的父類對象,而子類因為已經被序列化了(已經調用過子類構造方法的狀態),所以就不會再調用子類自己的構造方法
2016-07-02
已采納回答 / bigfire
第一個問題:代碼第30行,osw.write(buffer,0,buffer.length);這句話會把整個buffer數組里面的內容全部寫到file1.txt中去。buffer數組的內容有兩部分構成,一部分是在代碼26行,通過輸入流isr.read(buffer,0,buffe...
2016-07-01
已采納回答 / leowei
File file=new File("D:\\hello.text\\a.text"); if (!file.exists()) { file.mkdirs(); } System.out.println("over");可以一次創建 !如果沒創建成功,看看 盤符 等其他問題!
2016-06-23