0

这是在 CentOS 6.2 上。我正在写入一个文本文件,它在开头添加了一个 ETX M。(ETX是角色的名字)

file.setLength(0);
file.seek(0);
file.writeUTF(somestring);
4

1 回答 1

2

文档中引用RandomAccessile.writeUTF()

首先,将两个字节写入文件,从当前文件指针开始,就好像通过 writeShort 方法给出了后面的字节数。这个值是实际写出的字节数,而不是字符串的长度。在长度之后,按顺序输出字符串的每个字符,对每个字符使用修改后的 UTF-8 编码。

如果您不想要这个,请手动将字符串转换为字节并使用基本write()方法写入这些字节(nb:writeBytes() 不是您想要的)。但是,您将需要一些方法来跟踪字符串的大小以便再次读取它(除非您使用固定宽度的字段)。

于 2012-08-29T20:00:57.017 回答