Как предотвратить ввод тех же данных в текстовый файл? - PullRequest
0 голосов
/ 13 марта 2019

Я пытаюсь создать функцию, которая добавит имя и идентификатор менеджера, которые вы ввели в текстовые файлы.

{
    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 голосов
/ 13 марта 2019

Простой текстовый файл здесь не лучший подход.

Поскольку вы хотите искать записи, которые уже были добавлены в список, чтобы предотвратить дублирование, вам будет на что посмотреть хеш-таблица.

Итак, у вас есть варианты:
1. Если список не слишком большой, и вы определенно хотите сохранить данные в текстовом файле, вы можете загрузить записи в HashSet (например, каждая запись может быть разделена символом разрыва строки) иуправлять данными в памяти.Как только данные должны быть записаны обратно в файл, просто замените весь файл новыми записями.

2. Рассмотрите возможность использования механизма базы данных для хранения данных.Вы можете посмотреть на облегченные библиотеки, такие как MapDB или H2 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...