RandomAccessFile使用中,亂碼問題
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);?
我嘗試了下,在一個文件中只寫入一個中文,文件使用emedit打開顯示的是中文,控制臺輸出的為什么還是亂碼呢,請老師解答。
2015-03-09
在byte[] bb=new byte[(int) raf.length()]; 下面加一句話raf.seek(0);將raf的指針重新定位到0,否則是從"中"的位置后開始讀,我這邊讀到的是空字符串,什么都沒有輸出。