码迷,mamicode.com
首页 > 数据库 > 详细

JAVA RandomAccessFile writeBytes

时间:2018-04-16 19:25:16      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:random   throw   mac   out   bytes   顺序   throws   void   bsp   

 

writeBytes

public final void writeBytes(String s)
                      throws IOException
按字节序列将该字符串写入该文件。该字符串中的每个字符均按顺序写出,并丢弃其高八位。写入从文件指针的当前位置开始
--

问题出在writeBytes(String s)这个方法上。

JAVA中的char是16位的,一个char存储一个中文字符,直接用writeBytes方法转换会变为8位,直接导致高8位丢失。从而导致中文乱码。

解决方法:

现转换为字节组,再write写入流。方法如下:

原方法:

out.writeBytes(json.toString());

新方法:

out.write(json.toString.getBytes());

JAVA RandomAccessFile writeBytes

标签:random   throw   mac   out   bytes   顺序   throws   void   bsp   

原文地址:https://www.cnblogs.com/kakaisgood/p/8857885.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!