代碼在第一張圖 ? ?我創(chuàng)建了一個(gè)TestWriter.txt 然后把 ?0-5000傳輸進(jìn)去 ? ?打開(kāi)TestWriter.txt?為什么里面內(nèi)容會(huì)是 ?第二張圖那樣???
1 回答
已采納

onemoo
TA貢獻(xiàn)883條經(jīng)驗(yàn) 獲得超454個(gè)贊
你期望是什么樣呢? ?是希望文件中是 1 2 3 ... 這樣的字符嗎?
write(int) 接受 int 參數(shù)的版本會(huì)寫(xiě)入該參數(shù)值在字符集中所表示的字符。?
你代碼中傳入 write 的5000個(gè)整形值被當(dāng)作字符集中字符的值了,所以基本上你是把 ASCII 字符表及后續(xù)擴(kuò)展字符都輸出了個(gè)遍...
想要輸出 0-4999 這些字符,就想辦法將 int 值轉(zhuǎn)為字符。比如你可以這樣:
//?先用String來(lái)將整型值轉(zhuǎn)為字符 //?再用write的另一個(gè)版本?write(String?str,?int?off,?int?len)?來(lái)寫(xiě)入字符 fw.write(String.valueOf(i),?0,?String.valueOf(i).length());