java中使用RandomAccessFile类在文本文档中添加内容为什么最后会多两个乱码。

publicstaticvoidmain(String[]args)throwsIOException{RandomAccessFilerw=newRandomAcces... public static void main(String[] args) throws IOException { RandomAccessFile rw = new RandomAccessFile("hello.txt","rw"); //2.进行读写操作 //2.1先读取一行 String line = rw.readLine(); byte [] buff = new byte[(int) (rw.length()-line.length())]; rw.read(buff); //读取完之后,指针会在文章结尾,此时调用seek方法把指针移动到第一行末尾 rw.seek(line.length()); //然后再进行添加要写入的内容 rw.writeBytes("\r\ni love gongfu\r\n"); rw.write(buff); //3.关闭流 rw.close(); }但是假如读取剩余内容的时候,数组的长度定义为 文件内容长度-第一行长度-2 就不会有乱码出现。为什么要再减上2呢。 展开
 我来答
匿名用户
2019-06-14
展开全部
经过测试这个是由于文本中的换行符影响的,一个换行符占了两个长度。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式