RandomAccessFile将ETX M添加到文件的开头

时间:2012-08-29 18:48:10

标签: java file-io

这是在CentOS 6.2上。我正在写一个文本文件,它正在为开始添加一个ETX M. (ETX是角色的名称)

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

1 个答案:

答案 0 :(得分:2)

引用RandomAccessile.writeUTF()的{​​{3}}

  

首先,从当前文件指针开始,将两个字节写入文件,就像writeShort方法一样,给出要跟随的字节数。该值是实际写出的字节数,而不是字符串的长度。在长度之后,字符串的每个字符依次使用修改后的UTF-8编码输出。

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