亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

文件傳輸基礎——Java IO流

難度入門
時長 2小時 0分
學習人數
綜合評分9.67
669人評價 查看評價
9.9 內容實用
9.6 簡潔易懂
9.5 邏輯清晰

最贊回答 / 牙膏牙膏牙膏
in.read(buf,0,buf.length),這個方法返回的是它讀取到的字節個數!正如你假設的,文件100字節,buf容量80字節:第一次讀取的時候是返回80;第二次進入while的時候,文件讀取的字節是從第81個字節開始(讀取的時候文件有個指針一邊讀一邊移動的,前面老師講過),就是說文件還剩下20個字節可讀,所以這時候返回的字節是20;第三次進入while的時候,文件已經沒有內容可讀了,所以返回的是-1;這時候就跳出了while!純手打!望采納!
你們這節課學了多少小時呀。。

已采納回答 / qq_星河k_0
問題和代碼無關,你只要輸出System.out.println(0xffffffff)就會得到-1;原因是int 是有符號位,占4個字節,而0xffffffff是以int類型存儲的,int是有符號的。即1111 1111 1111.......第一位被用來記錄符號,所以這里就被解釋為負號了,而Java在編碼時,存儲的是負數的補碼,所以你的1111.....就成了1000......+1就是10000.....1就是-1啦。所以16進制最大的數是0x7fffffff.

已采納回答 / 斕若林
沒關系的,轉不轉換沒什么意義,這只是講師的個人習慣

已采納回答 / 神樂Triste
您說的是in是什么類型的呢,FileInputStream?在FileInputStream的read()方法中有返回值為int類型的重載函數.
主播 是 寧波人嗎?
全是代碼,看的暈頭轉向,看了三四遍還是沒理清楚

最新回答 / pardon110
需要一點大小端,高低位,位運算, 字節,字符,編碼相關的基礎知識

最新回答 / 斕若林
<...圖片...>不要用文本文檔寫東西

已采納回答 / 一把年紀小二郎
因為你的只導入了BufferReader的包,沒有導入其余流對應的包 你可以改為1.導入你目前代碼中使用的流包2.直接導入java.io.*所有的IO包
我能說4:56和6:00的代碼不一樣嗎,難道代碼注釋后,里面的內容就不一樣了嗎
各位喜歡一直戴耳機的盆友,可以去百度一下,耳機不能久戴,否則傷害聽力。無論買多貴的耳機都是這樣。還是用音箱比較好。

已采納回答 / HungerCheung
問題原因:<...code...>解決方法:
//注釋掉或者直接刪除下面這行代碼可以得到和老師同樣的結果
//Bar2?bar2?=?new?Bar2();
//該程序是為了測試反序列化得到對象是否調用其構造方法
//因此重新新建一個Bar2的實體對象是完全沒有必要的,反而會混淆測試結果

最贊回答 / HungerCheung
以題主的代碼為例:我所理解題主的困惑在于,for循環中限制條件為什么是n而bytes.length。首先我簡要解釋一下這個n與bytes.length的區別:length是一個in類型的整數,用于記錄bytes這個字節數組的長度。length表示這bytes的最大容量,是一個大小始終不變的固定值。n是也一個int類型的整數,用于接受file的read方法的返回值。因為這個返回值表示一次讀取從bytes數組中到的字節數,所以n就隨著每次從bytes中讀取的字節數的變化而變化。看來這里題主可能會想,file的...

最新回答 / yyz要學java
那你正常寫就好了啊 ?char c='A';raf.write(c);System.out.println(c);類似于這樣
課程須知
親,為了更好的學習本門課程,需要您對二進制的知識有所了解,還要熟悉Java的基本語法和面向對象的知識。
老師告訴你能學到什么?
1、了解文件編碼。 2、能夠對文件和目錄進行管理操作。 3、能夠應用字節流和字符流對文件進行讀寫操作。 4、能夠對對象進行序列化和反序列化。

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消