最贊回答 / mmzpr5554321
正如你所說,byte只有8位,然后int有32位,所以byte轉換為int,int的前面24位是無意義的(就是跟轉換過來的值無關),所以0xff=0000 0000 0000 0000 0000 0000 1111 1111 & b可以保留后8位的數值,前面24位不管是0還是1都會為0不顯示。
2017-09-08
已采納回答 / 慕雪6201052
因為他過時了。該類童工了對文件的操作,包括寫于讀,與其他的IO類基本沒有多大的關系,是一個獨立的類。而最新的IO操作,分的特別詳細,包括輸入流,輸出流,讀與寫等等。不再是以前的單一類可以完成的。內存映射,,差不多可以取代RandomAccessFile 了
2017-09-06
已采納回答 / 慕田峪1616461
如果是read(byte[] b),若最后一次讀取的長度不及數組的長度,則后面的內容會是上次讀取殘留的內容;如果是read(byte[] b, int off, int len),若最后一次讀取的長度不及數組的長度,則后面的會為空,解決了為什么用read(byte[] b)讀取產生的結果比原來多的問題
2017-09-04
已采納回答 / 慕粉2335383635
f是16進制數,ffffffc4 化為二進制就是1111 1111 1111 1111 1111 1111 1100 0100 ;0xff化為二進制是1111 1111;&是按位與,ffffffc4 & 0xff 時0xff高位補0, 最后得到的二進制數是0000 0000 0000 0000 0000 0000 1100 0100,轉化為16進制就是0xc4,高位的0忽略掉
2017-09-03
已采納回答 / qq_Hasneverforg_0
因為此處有兩個異?!?FileNotFoundException, IOException ,而他們都是Exception的子類
2017-07-29
已采納回答 / FarFromAnyRoad
為什么亂碼肯定是亂碼啊,? 你使用了DataOutputStream,把int long String 都存了進去。你打開這個文件,使用系統的notepad程序,notepad程序不知道你這個什么編碼,用了ansi,吧intlong什么都放在一起當GBK處理了。怎么做不亂碼不要用記事本打開DataOutputStream創建的東西,看不到亂碼,眼不見心不煩。你自己知道是什么,用DataInputStream或者InputStream能取出來用就行了。
2017-07-13