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
展开全部
经过测试这个是由于文本中的换行符影响的,一个换行符占了两个长度。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询