已采納回答 / KeT
length()方法返回的是由此抽象路徑名表示的文件的長度,而上面的dir.listFiles(),它返回的是一個抽象路徑名數組,這些路徑名表示此抽象路徑名表示的目錄中的文件,所以if里面的判斷,一個是判斷文件,一個是判斷文件長度,所以才要如此。
2016-07-21
已采納回答 / 摩訶迦葉
bytes = in.read(buf,0,buf.length),這里的0指的是buf數組的位置0,in.read(buf,0,buf.length)這行代碼的意思是從文件中讀取字節,將其放到buf數組中,從buf[0]開始放,到buf[buf.length]結束(如果字節足夠多的話),或者有m個就放到buf[m]結束
2016-07-21
已采納回答 / 小丑魚yang
f(buf[i]<=0xf)這句有問題的!這里buf[i]是byte類型,雖然比較的時候會自動變成int,但是如果它的最高位是1的話,它始終都是負數!只需要在判斷的時候再加上判斷為正即可if(buff[i] <= 0xf && buff[i] >= 0)
2016-07-20
已采納回答 / Coder編程
說明你沒有導入源碼文件,在你的JDK安裝目錄下有個src.zip文件。將它導入進去即可,如果沒有的話。你可以到http://download.csdn.net/detail/michael_hm/9587153 這里下載源碼,這是我1.8的源碼。放到JDK目錄下,導進去就可以,怎么導進去,網上有相關的教材。我就不截圖了
2016-07-19
已采納回答 / charsandrew
哪里返回b.length了,而且你貼的圖完全不相干啊.length是一個對象的屬性,指一個對象的長度。比如數組b.length。就表示數組的長度,就是數組中 元素的個數。而對于一個集合,比如list,一般用.size()方法獲得其長度
2016-07-18
已采納回答 / 心and心
當讀取字節放入數組中時,若放入的是正數,if判斷的結果是把十六進制只有一位的前面補0若放入的是負數,所有的負數一定小于0xf這個正數,if判斷一定成立,全都會補0所以會出現有兩位十六進制數仍然在前面補0的情況
2016-07-18
已采納回答 / 慕粉慕名而來
能不能把異常信息放上去再問問題,還有你的代碼也貼出來。如果你是按照老師的寫的是沒有問題的。肯定是你代碼那個地方寫的不對,但是你就給了三行代碼,還沒有異常信息,怎么看??
2016-07-18
已采納回答 / 慕粉3434120
在DataOutputStreamDemo這個類里,查看?dos.writeUTF("中國");是否是writeUTF格式的;package imooc_File_IO_Demo;import java.io.DataOutputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class DataOutputStreamDemo {??...
2016-07-13
已采納回答 / mutou3443
b是你本次讀到的字節數,其中b<=?buf.length。讀滿的時候b=?buf.length,讀到最后一次的時候很可能b<?buf.length,這個時候buf里面一共有b(<buf.length)個字節,你fos.write(buf, 0, buf.length)就數組越界了。
2016-07-11