已采納回答 / 相遇即是緣分
字節數組不足以存放文件中的字節數據時,又想讀完文件中的數據,這個時候,就要用到while循環了。如果字節數組足夠大,可以放下整個文件的數據時,就不需要用到while循環了,只讀一次就行了。但是,一般情況下,還是要用while循環,因為字節數組初始大小,無法保證適合所有的情況。
2019-08-25
已采納回答 / Java攀登者
我去試了一下,發現并不會buf數組并不會初始化,第二次讀取的數據會直接覆蓋數組原來的內容。假設第二次循環b=1002,那么buf[0]~buf[1001]的值會與第一次循環時的值不一致,而buf[1002]之后的數據與第一次循環一致。沒覆蓋的值不為0就證明了沒有初始化,這就說明第二次讀取時的內容直接覆蓋原來的內容。
2019-08-16
最新回答 / martinzh
FileReader/FileWriter 是?InputStreamReader/OutputStreamWriter的封裝;可以讓你更方便的操作文件的讀寫。前者就相當于你從家到公司有公交或者有地鐵一樣, 只要知道你自己家是什么站點,公司是什么站點就可以到達目的地。后者就相當與你自己從家到公司要走路或者自己開車,除了你要知道你家和公司的站點是什么, 你也必須知道你從家去公司要走什么路線才能到目的地。
2019-08-14
最新回答 / 墓中幻相
反序列化出來的是一個對象,對象就好比new Student();創建出來的實例化對象它是在堆內存里的;而把實例化的對象賦值給變量也就是 Object p =?new Student(); 這個變量p只是個變量,他在棧內存里,存儲的是右邊堆內存里對象的引用地址。而輸出這個變量P的話實際上也是輸出他存儲的引用地址
2019-07-08
已采納回答 / 程序猿天璇
>>>(按位右移不足補0),表示無符號右移!右移表達式的位,不保留符號。result?=?expression1?>>>?expression2參數解釋:result:任何變量。expression1:任何表達式。expression2:任何表達式。說明:>>>?運算符把?expression1?的各個位向右移?expression2?指定的位數。右移后左邊空出的位用零來填充。移出右邊的位被丟棄。例如:?var?temptemp?=?-14?>&...
2019-07-06
最贊回答 / qq_prisoner_4
我自己回答一下吧。read方法返回值賦給b不能在while體外,否則將執行無限循環。相當于b是給定的不為-1的值,而在while循環中,b是一直在檢驗的,檢驗輸入流是否讀取到文件末端。
2019-07-03
已采納回答 / FarCryrr
1個字節是8位只有8種基本類型可以算.其他引用類型都是由java虛擬機決定的自己不能操作byte 1字節short 2字節int 4字節long 8字節float 4字節double 8字節char 2字節boolean 1字節
2019-06-18