JAVA RandomAccessFile writeBytes

Posted kakaisgood

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA RandomAccessFile writeBytes相关的知识,希望对你有一定的参考价值。

 

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的主要内容,如果未能解决你的问题,请参考以下文章

Java RandomAccessFile基本的用法

Java篇:RandomAccessFile

Java 实现文件随机读写-RandomAccessFile

Java IO流RandomAccessFile类的使用

Java IO2:RandomAccessFile

RandomAccessFile java IO