吃了個(gè)飯回來(lái),改成if((buf[i]>>>1)<=0x8)這樣就對(duì)了~終于搞定了,求老師回復(fù)~
2014-11-27
if(buf[i]<=0xf)這句有問(wèn)題的!這里buf[i]是byte類型,雖然比較的時(shí)候會(huì)自動(dòng)變成int,但是如果它的最高位是1的話,它始終都是負(fù)數(shù)??!難怪我的中文文本里面會(huì)出現(xiàn)很多0a 0d 0a 0ce 0ca 0d1 0a6 0d7 0dc 0d2這種情況,但是英文字符就是對(duì)的! 老師這里應(yīng)該說(shuō)明一下的!
2014-11-27
請(qǐng)問(wèn)按位與上0xff是不是沒(méi)有必要???好多問(wèn)題..求教啊~
2014-11-27
第二個(gè)方法實(shí)現(xiàn)出現(xiàn)問(wèn)題都不告訴學(xué)生,老師自己的代碼都被改掉了吧?而且運(yùn)行結(jié)果還是跟第一個(gè)方法不一樣!被老師一帶而過(guò)了!
2014-11-27
最贊回答 / 好學(xué)的小橙子
read()返回的是讀取的字節(jié)數(shù),write()是寫(xiě)入文件的字節(jié)數(shù),需要的就是c是int型,你想怎么變
2014-11-27
@不及回顧 異常是一種容錯(cuò)機(jī)制,當(dāng)程序發(fā)生錯(cuò)誤時(shí)可以自動(dòng)捕捉到錯(cuò)誤并進(jìn)行處理,給程序員的開(kāi)發(fā)工作帶來(lái)便利。在程序中沒(méi)有發(fā)生異常說(shuō)明程序的各個(gè)相關(guān)環(huán)節(jié)都是沒(méi)問(wèn)題的,但有時(shí)候我們可能會(huì)考慮的不那么周到,就會(huì)引起異常的發(fā)生,尤其是代碼量大邏輯關(guān)系復(fù)雜的時(shí)候。在JAVA io中有很多種異常,比如讀文件時(shí)找不到文件的FileNotFoundException異常,當(dāng)讀的文件不存在時(shí)就會(huì)發(fā)生,可以嘗試一下。
2014-11-27
已采納回答 / 好幫手慕珊
不是一次性都讀取到buf數(shù)組中,看下面的代碼第5行,通過(guò)read方法讀到buf數(shù)組中,buf數(shù)組滿了就進(jìn)行處理(轉(zhuǎn)換成16進(jìn)制顯示),然后再接著讀,直到讀到文件末尾為止。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)...
2014-11-26
最贊回答 / 源代碼_思無(wú)邪
建立數(shù)組進(jìn)行讀文件,就是為了讀取文件內(nèi)容時(shí)快一些而己,不管你建多大的數(shù)組(當(dāng)然還受內(nèi)存大小影響),總會(huì)有你一次讀不了的文件。你首先要明白你讀文件是為了干什么?有沒(méi)有必要一次將文件都讀到流中,象老師講的例子:復(fù)制文件,或者是將大文件分割再合成等就沒(méi)有必要一次將文件讀到流中呀。一次性讀不完,老師的例子里說(shuō)得很清楚了呀:就是那個(gè)while((b=in.read(buf, 0, buf.length))!=-1)語(yǔ)句,沒(méi)有讀完就一直循環(huán),只到讀到文件尾。
2014-11-26
while((int i = read(byte【】 b ,int satrt ,int sist))!= -1?? ) 為什么 不等于-1可以用判斷 ,返回的不是 已經(jīng)讀取的個(gè)數(shù)嗎
2014-11-19