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

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

文件傳輸基礎——Java IO流

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

最新回答 / Palyer
調用這個方法本身,所以叫遞歸啊

最新回答 / 幕布斯7473508
他這個只是打印文件,而不是目錄。
if(file.isDirectory())//這個判斷的是是不是目錄,如果是就遞歸。把它下面的文件路徑打印出來。
你如果要打印目錄其實可以在遞歸前加上這段代碼:System.out.print(?file?);
他就會把目錄也打印下來。
?

最新回答 / 落千殤
創建帶多層目錄的文件,使用mkdirs( );

最新回答 / jia_蛙
你不是已經得到了結果嗎? 使用Integer.toHexString就已經把字節轉換成了以16進制顯示的方式? 這里又使用?&0xff把前面24個沒用的0去掉,這就變成你控制臺輸出的那些了

最贊回答 / iodysseus
你的補0判斷沒有問題,只不過是因為你的讀取文件中,包含了中文,而中文在字節數組中保存的數值是負值,?if(buf[i]<=0xf){? ? System.out.print("0");? ? }所以但凡是中文 都會經由此補上0,而且看你輸出的全是3位補0,應該是全文字內容,你再加入一點字母數字,就會發現有3位和兩位并存的現象

最新回答 / SloMo8
00? 06 --->? 這兩字節表示的是字符串s占6個字節e4? b8? ad? e5? 9b? bd? --->"中國"的utf-8編碼4e? 2d? 56? fd? --->"中國"的utf-16be編碼

最新回答 / Ray_Loy
writeChars是寫一個序列的UCS2編碼字符串,要用readChar逐個讀取
我感覺java面向對象遵循的是宏觀因果律
序列化的時候調用所有父類的構造方法其實是因為Bar2 bar = new Bar2()這個實例化對象的操作造成的,可以在后面System.out.println(&quot;構造方法之后&quot;);可以看出來,因為要構造子類都得先構造父類

反序列化如果父親實現了序列化接口,對兒子進行序列化時其序列化代碼中就蘊含了父親的信息,也就知道了其父親的存在,但不知道他爺爺以及一直到老祖宗Object是否存在,因為他們沒有實現序列化接口,所以得依次創建這些祖先類的實例,也就是調用構造方法。但由于他父親已經存在于序列化信息中。所以就不用再構造一遍了。
為了保證反序列不是無中生有的

最新回答 / 不見子都
b & 0xff,這個是必須的嗎,就算我不加& 0xff,也到的結果也是一樣的。
讀文件是硬盤往內存里不斷input,CPU在內存里不斷read

寫文件是CPU不斷往內存里write,內存不斷往硬盤里存儲output

所以把內存看成主體,輸入流是本來就存在于硬盤的數據不斷輸入到內存,我們read內存就能看到數據了,是一種輸入過程

輸出流得先write進內存,內存再輸出到硬盤進行存儲,是一種輸出過程也就是output

close()應該就是關閉內存
又是父又是爸的,我都不好意思了。感謝老師,講的太細心了

最贊回答 / qq_領悟_27
字符流,讀出來是個字符啊,一串字符不就是字符串了嗎
字符流的底層也是字節流
所以在創建字符流對象時,也需要把字節流對象傳入
如:InputStreamReader in=new InputSteamReader(new FileInputStream());
for循環適合已知次數的情況,即for只會讀到字節數組滿了就會停止。
while是一直讀到文件結尾才會停止,如果字節數組滿了,它會從頭覆蓋此數組進行讀取。
課程須知
親,為了更好的學習本門課程,需要您對二進制的知識有所了解,還要熟悉Java的基本語法和面向對象的知識。
老師告訴你能學到什么?
1、了解文件編碼。 2、能夠對文件和目錄進行管理操作。 3、能夠應用字節流和字符流對文件進行讀寫操作。 4、能夠對對象進行序列化和反序列化。

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

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

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消