如何写入在文件的指定行处?

boxnoodle 2008-01-02 09:30:07
如何写入在文件的指定行处?
如何写入在文件的指定行处?
如何写入在文件的指定行处?
...全文
397 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mislhy 2012-09-12
  • 打赏
  • 举报
回复
这样会不会太麻烦了,我也遇到这样的问题,就是想插入,不想覆盖!
boxnoodle 2008-01-03
  • 打赏
  • 举报
回复
已结帖!
最终是把原文件读出来,写到一个新文件中,在指定行写入要插入的字符,接着把原文件剩下的写入新文件,然后删除原文件,给新文件重命名。
boxnoodle 2008-01-02
  • 打赏
  • 举报
回复
能详细点么?
godstopokey 2008-01-02
  • 打赏
  • 举报
回复
seek函数
newflypig 2008-01-02
  • 打赏
  • 举报
回复
使用随即文件存储,seek函数定位
YeLang2007 2008-01-02
  • 打赏
  • 举报
回复


对的,这样只能是用新的String替代了原来的,是没法插入的...

要不你可以先读出来再将新的加入呀,就像这样:

String addNews="input string at here" + writer.readLine();

要不你将还剩余的都读出来放在某个地方存起来,然后再追加到文件后面.
boxnoodle 2008-01-02
  • 打赏
  • 举报
回复
我想在11.txt的第369行插入一行字符,写了下面一个代码:
try{
File myFile2=new File("11.txt");
RandomAccessFile writer=new RandomAccessFile(myFile2,"rw");
int i=1;
while(i!=369){
writer.readLine();
i++;
}
long tagPoint=writer.getFilePointer();
writer.seek(tagPoint);
String addNews="input string at here";
byte[] b=addNews.getBytes();
writer.write(b);
writer.close();
}catch(Exception ex){
System.out.println("couldn't write the file");
ex.printStackTrace();
}
结果它总是把原来第369行的字符覆盖重写,而不是插入,怎么办啊?

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧