已采納回答 / 勇敢的心9
以下僅供參考,只是個人的理解,我也是新手:輸入輸出流:最原始的方法,按字節讀?。幌喈斢诖蛴C打印文章時:一個字一個字打印。數據輸入輸出流:在輸入輸出流的基礎上進行了簡單的封裝(處理),可以按照數據基本類型讀取,例如打印機打印文章:一個詞語,或者成語,或者直接打印一句話,而不是一個字;緩沖流:進一步封裝,憋滿大招再放,像打印機一次性打印一篇文章,或者一個段落。
2016-10-30
已采納回答 / 小凡先森
簡單點說,原來開辟空間之后輸入的buf是Byte型,只有8位?,F在要用Integer.toHexString把int型轉化成字符型,這個函數括號里輸入的一定要是int型也就是32位;為了不發生錯誤,就先用位與&把Byte型(只有8位)前面的24位全都變成0(比如:byte數據1011 1011&1111 1111 1111 1111....,按位運算,高位不足補0,1&1=1,1&0=0,0&0=0)。打個比方就是:8個乒乓球(byte數據)放到長度為32的筒狀盒子...
2016-10-30
已采納回答 / 歌者休
老師的解釋:(1)認識文本和文本文件java的文本(char)是16位無符號整數,是字符的unicoid編碼(雙字節編碼)文件是byte byte byte 的數據序列文本文件是文本(char)序列按照某種(utf-8,utf-16be,gdk)序列化為byte的存儲結果
2016-10-26
已采納回答 / 慕運維6388425
我想,括號里面的buy應該是字節數組的意思。這只是兩個不同的write方法。并沒有想象的那么復雜前者:write(buy),意味著字節數組buy中的數據被全部寫入了流所指向的文件里后者:write(buy,0,buy.length),以為著從這個字節數組的第0個位置(就是第一個開始寫)開始,到第buy.length個位置結束,這中的內容寫入write所指向的文件里。buy.length則是buy這個字節數組的長度,而那個0所代表的位置也可以被其他數字取代來代表不同的位置
2016-10-25
已采納回答 / 青山洞主
大文件的情況下:應該是BufferedOutputStream效率最高,RandomAccessFile可以隨機訪問文件位置,效率上應該沒有Buffered高,接著的DataOutputStream和FileOutputStream應該差不多,不過DataOutputStream進行了一些封裝,可以直接處理基本類型數據,DataOutputStream要略優于FileOutputStream,FileOutputStream是最原始的了,直接對文件操作,寫入字節數據。小文件的話:幾 K的那種,其實你用哪個...
2016-10-24
已采納回答 / 慕運維6388425
你是想問這下面兩個異常處理方法應該用哪個吧?第一個一般是把異常拋出,本類不做處理,交給父類處理第二個是就在本類把異常處理掉一:printHexByByteArray(String fileName) throws IOException{二:try {???IOUtil. printHexByByteArray("e:\\e.txt");??} catch (IOException e) {???// TODO 自動生成的 catch 塊???e.printStackTrace();??}// TODO ...
2016-10-23