实现java中删除文本文件中的某条记录,在线等》》》》
来源:百度知道 编辑:UC知道 时间:2024/05/16 16:00:37
比如有一个叫book.txt的文本文件。内容为
aaa 111 (第一条记录)
bbb 222 (第二条记录)
如何用java 实现删除某条记录,比如我输入bbb就实现删除 bbb 222 这个记录。请各位大家帮帮小弟。谢谢。
有没有人会采用 Vector 实现的? 还有就是如果有会的把完整的源码贴上。其他方法也行。最好是Vector
aaa 111 (第一条记录)
bbb 222 (第二条记录)
如何用java 实现删除某条记录,比如我输入bbb就实现删除 bbb 222 这个记录。请各位大家帮帮小弟。谢谢。
有没有人会采用 Vector 实现的? 还有就是如果有会的把完整的源码贴上。其他方法也行。最好是Vector
可以在记事本中加标识符
比如 s1是从记事本里面取出来的内容..
String s1="aaa 111,bbb 222";
String []s2=s1.split(","); 遇到,号就拆..
s2的值就是 s2[0]=aaa 111 s2[1]=bbb 222
然后当你输入 bbb的时候.. 判断s2数组里面的那个值匹配他就删除.
在重新把s2储存到记事本里面去..
思路是这样.. 不懂的再问我..
文本保存在外存上,就随机访问文件了,必然没有好的删除方法,因为移动很费时间的,比较好的办法,就是自己实现空闲块算法,比如静态分配数组模拟的链表或者给每个记录加一个标志字段,表示它是否是有效的,当这个文件增长到一定大小之后做个存储紧缩。这个只能模拟操作系统的空闲分区方法了,你要说真正删除,是不可能的,如果你了解文件系统结构的话,就知道这个方法其实和你所谓的“删除”是一样的。。。
没有真正的删除。。。。陈冠希以为他的照片被删了,其实就是文件系统的inode视图被清零了,并没有被真正删除。。。呵呵。。。这个其实就是现代计算机的“覆盖存储”机制,你不可能打破他,否则你要花费更大的代价。。