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

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

文件傳輸基礎——Java IO流

難度入門
時長 2小時 0分
學習人數
綜合評分9.67
669人評價 查看評價
9.9 內容實用
9.6 簡潔易懂
9.5 邏輯清晰
吃了個飯回來,改成if((buf[i]>>>1)<=0x8)這樣就對了~終于搞定了,求老師回復~
if(buf[i]<=0xf)這句有問題的!這里buf[i]是byte類型,雖然比較的時候會自動變成int,但是如果它的最高位是1的話,它始終都是負數??!難怪我的中文文本里面會出現很多0a 0d 0a 0ce 0ca 0d1 0a6 0d7 0dc 0d2這種情況,但是英文字符就是對的! 老師這里應該說明一下的!
請問按位與上0xff是不是沒有必要???好多問題..求教啊~
第二個方法實現出現問題都不告訴學生,老師自己的代碼都被改掉了吧?而且運行結果還是跟第一個方法不一樣!被老師一帶而過了!

最贊回答 / 好學的小橙子
read()返回的是讀取的字節數,write()是寫入文件的字節數,需要的就是c是int型,你想怎么變
@向往天空的魚,read方法返回的是已經讀取的字節數,如果已到達流的末尾,則返回 -1。
@不及回顧 異常是一種容錯機制,當程序發生錯誤時可以自動捕捉到錯誤并進行處理,給程序員的開發工作帶來便利。在程序中沒有發生異常說明程序的各個相關環節都是沒問題的,但有時候我們可能會考慮的不那么周到,就會引起異常的發生,尤其是代碼量大邏輯關系復雜的時候。在JAVA io中有很多種異常,比如讀文件時找不到文件的FileNotFoundException異常,當讀的文件不存在時就會發生,可以嘗試一下。

已采納回答 / 好幫手慕珊
不是一次性都讀取到buf數組中,看下面的代碼第5行,通過read方法讀到buf數組中,buf數組滿了就進行處理(轉換成16進制顯示),然后再接著讀,直到讀到文件末尾為止。FileInputStream in = new FileInputStream("e:\javaio\1.mp3"); byte[] buf = new byte[8 * 1024]; ?int bytes = 0; ?int j = 1; ?while((bytes = in.read(buf,0,buf.length))!=-1)...

最贊回答 / 源代碼_思無邪
建立數組進行讀文件,就是為了讀取文件內容時快一些而己,不管你建多大的數組(當然還受內存大小影響),總會有你一次讀不了的文件。你首先要明白你讀文件是為了干什么?有沒有必要一次將文件都讀到流中,象老師講的例子:復制文件,或者是將大文件分割再合成等就沒有必要一次將文件讀到流中呀。一次性讀不完,老師的例子里說得很清楚了呀:就是那個while((b=in.read(buf, 0, buf.length))!=-1)語句,沒有讀完就一直循環,只到讀到文件尾。
加油,慕課
很有收獲,,,謝謝cedar
while((int i = read(byte【】 b ,int satrt ,int sist))!= -1?? ) 為什么 不等于-1可以用判斷 ,返回的不是 已經讀取的個數嗎
為什么每次都要在io中拋出異常啊?感覺每次都沒什么異常啊。
從哪里體現的過濾?!
課程須知
親,為了更好的學習本門課程,需要您對二進制的知識有所了解,還要熟悉Java的基本語法和面向對象的知識。
老師告訴你能學到什么?
1、了解文件編碼。 2、能夠對文件和目錄進行管理操作。 3、能夠應用字節流和字符流對文件進行讀寫操作。 4、能夠對對象進行序列化和反序列化。

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

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

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消