高难度问题---------如何删除txt文件的某一行?RandomAccessFile可以吗?

kunchengking 2004-06-17 08:52:53
绝对高难度问题,我想了好久。。。。。。。各位大哥帮忙
...全文
544 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
kunchengking 2004-06-18
  • 打赏
  • 举报
回复
我有一个想法,就是定位到要删除的行处,写入退格键,但不知道退格键的编码,怎么写?
chensuper 2004-06-18
  • 打赏
  • 举报
回复
我一般的做法也是写临时文件,java读写文件的效率好像不是太高,尤其是超过几m的文件,总出错
hfwsw 2004-06-18
  • 打赏
  • 举报
回复
有实际意义吗?
RomandAccessFile 2004-06-18
  • 打赏
  • 举报
回复
他妈的,狗屁高难,回去看看文档再说,,,
skyMountain 2004-06-18
  • 打赏
  • 举报
回复
像WORD等文件格式才能随机增删数据,TXT?恐怕操作系统不支持吧。

改进一下 julyclyde(Java初学(大学不教只好自己学)) 的算法:
一、将文件的后半部分读入内存(不包括要删的那一行);
二、定位到要删除行的前面;
三、将内存中的数据写入,并在后面加上文件结束符。
读写磁盘的次数会少一些,不过……文件中最后一行的磁盘空间是否就永远无法利用了?
kunchengking 2004-06-17
  • 打赏
  • 举报
回复
太消耗内存了,我要用到大型系统里面
julyclyde 2004-06-17
  • 打赏
  • 举报
回复
读出前半截,写入临时文件
跳过一行
读出后半截,写入临时文件
删除旧文件,把临时文件改名为旧文件名
justfly 2004-06-17
  • 打赏
  • 举报
回复
只想到一个办法,把该行前面的行和后面的行写进一个temp文件,然后再把该temp文件的内容写入回原文件中。
不知道有没有更好的方法
justfly 2004-06-17
  • 打赏
  • 举报
回复
gz

62,623

社区成员

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

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