我如何从外部文件中删除数据?

时间:2009-11-30 23:20:32

标签: java

我在外部文件中的格式是

name
tel no
mob no
address

从gui我想删除一个使用我的删除按钮的上述格式的联系人。

我已完成导出方法,并想知道删除是否类似,这是我的导出代码。

 {
   FileOutputStream file; 
   PrintStream out; 

   try {   file = new FileOutputStream("../files/example.buab", true);   
          out = new PrintStream(file);       
          out.println(txtname.getText());      
          out.println(txtnum.getText());     
          out.println(txtmob.getText());
          out.println(txtadd1.getText()); 

          System.err.println ("");                    
          out.close();              
       }            
          catch (Exception e)
                {                   
                 System.err.println ("Error in writing to file");          
                }
   }

3 个答案:

答案 0 :(得分:1)

你真的必须立即删除文件中的联系人吗?

通常你会做这样的事情:

  1. 将文件内容导入模型,编辑联系人对象列表
  2. 将所有修改应用于模型(更改值,添加联系人,删除联系人)
  3. 保存您的修改,iaw用您的模型覆盖该文件。
  4. 尝试删除文件中的单行要容易得多......

答案 1 :(得分:0)

最简单的方法是完全读取它,跳过应该删除的行,然后将其完全写回文件,从而覆盖原始文件。但这也是效率最低的方式。为获得最佳效果,您需要在模型中更多地组织数据。

为什么不使用(嵌入式)数据库,以便您可以继续使用简单的SQL DELETE语句?

答案 2 :(得分:0)

我假设你真的必须使用一个文件而不能在数据库中使用表。

首先,您必须为每个联系人分配一个ID,以便您可以指向某个联系人,该ID必须是唯一的,而不是它可以是一切。

为什么不将该文件组织为xml?这是你的规范允许的吗?