RandomAccessFile使用中,亂碼問(wèn)題
RandomAccessFile raf=new RandomAccessFile(f, "rw");?
?String a="中";?
?byte[] b=a.getBytes("gbk");
?raf.write(b);?
?byte[] bb=new byte[(int) raf.length()];?
?raf.read(bb);?
?String ss=new String(bb, "gbk");
?System.out.println(ss);?
我嘗試了下,在一個(gè)文件中只寫(xiě)入一個(gè)中文,文件使用emedit打開(kāi)顯示的是中文,控制臺(tái)輸出的為什么還是亂碼呢,請(qǐng)老師解答。
2015-03-09
在byte[] bb=new byte[(int) raf.length()]; 下面加一句話raf.seek(0);將raf的指針重新定位到0,否則是從"中"的位置后開(kāi)始讀,我這邊讀到的是空字符串,什么都沒(méi)有輸出。