为了账号安全,请及时绑定邮箱和手机立即绑定

写入的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());

像这样指定位置才能读出

希望能和中文一起用字符串打印出来,而不是乱码,可以吗?


正在回答

1 回答

buf中存的是整数的补码,String s2 = new String(buf)解码用的是项目默认的编码,所以会烂码

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

写入的int数据i读出时变成了乱码

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信