我有一个代码,获取ID号并搜索其记录,如果存在,则显示它。
我想要找到,删除它记录。 删除行(用户记录)的一种解决方案是创建另一个文件并复制所有没有找到记录的行。 谁能告诉我另一种解决方案? (简单解决方案)
我的BookRecords.txt文件是这样的:
Name Date Number
one 2002 22
two 2003 33
three 2004 44
four 2005 55
我的代码找到:
String bookid=jTextField2.getText();
File f=new File("C:\\BookRecords.txt");
try{
FileReader Bfr=new FileReader(f);
BufferedReader Bbr=new BufferedReader(Bfr);
String bs;
while( (bs=Bbr.readLine()) != null ){
String[] Ust=bs.split(" ");
String Bname=Ust[0];
String Bdate=Ust[1];
String id = Ust[2];
if (id.equals(bookid.trim())
jLabel1.setText("Book Found, "+ Bname + " " + Bdate);
break;
}
}
}
catch (IOException ex) {
ex.printStackTrace();
}
请帮助删除一行(记录)
感谢。
答案 0 :(得分:1)
处理单个文本文件是 - 嗯 - 有点奇怪。但我建议你创建一个新的文本文件(输出):
PrintWriter out = new PrintWriter(new FileWriter("output.txt"));
只写不匹配图书ID的行。
while (...) {
...
if (!id.equals(bookid.trim())) {
out.println(bs);
}
}
out.close();
稍后您可以根据需要重命名该文件。
答案 1 :(得分:0)
找到文本文件中的整行,找到后退字符
\ B'/ P>