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