如何防止将相同数据输入文本文件?

时间:2019-03-13 08:48:19

标签: java oop user-interface

我正在尝试创建一个函数,该函数将添加您在文本文件中输入的经理姓名和ID。

{
    File f=new File("Manager.txt");
    try (PrintWriter pw = new PrintWriter(new FileOutputStream(f,true))) {
        pw.append(ManID + "," + ManName + "\r\n");
    }
    } catch (FileNotFoundException ex) {
        Logger.getLogger(AddCust.class.getName()).log(Level.SEVERE, null, ex);
    }        // TODO add your handling code here:
 {
            JOptionPane.showMessageDialog(frame, "Manager Added");
        }
    }        

一旦输入,它将把数据打印到文本文件中,尽管我仍然对如何使它识别已输入的名称并拒绝它有疑问。

我如何做到这一点?应该使用封装吗?

1 个答案:

答案 0 :(得分:0)

这里不是一个简单的文本文件最好的方法。

由于您要搜索已添加到列表中以防止重复的记录,因此需要查看哈希表。

因此,您有以下选择:
1。。如果列表不是太大,并且您确实想将数据存储在文本文件中,则可以将记录加载到HashSet中(每个记录可以用换行符分隔,例如)并在内存中操作数据。一旦必须将数据写回到文件中,只需用新记录覆盖整个文件即可。

2。。考虑使用数据库引擎来存储数据。您可以查看诸如MapDBH2之类的轻量级库。