寫(xiě)入的int數(shù)據(jù)i讀出時(shí)變成了亂碼
//RandomAccessFile?
RandomAccessFile ?raf = new RandomAccessFile (file,"rw");
//寫(xiě)數(shù)字
int i = 24;
raf.writeInt(i);
//讀
raf.seek(0);
//讀出到字節(jié)數(shù)組
byte[] ?buf = new byte[(int)raf.length()];
raf.read(buf);
? ? ? ?//輸出 ?
String s2 = new String(buf);
System.out.println(s2);
怎么樣才能正常打印出來(lái),如果使用readInt的話(huà)只能是
raf.seek(5);
System.out.println(raf.readInt());
像這樣指定位置才能讀出
希望能和中文一起用字符串打印出來(lái),而不是亂碼,可以嗎?
2017-10-02
buf中存的是整數(shù)的補(bǔ)碼,String s2 = new String(buf)解碼用的是項(xiàng)目默認(rèn)的編碼,所以會(huì)爛碼