Методы хранения постоянных данных в Java

В настоящее время я выполняю задание по программированию, и в нем говорится, что мы должны "сохранить все данные в файле данных и проверить совместимость PIN-кода пользователя и номера учетной записи.

К сожалению, мой лектор не учил нас о файлах данных, и когда я гуглил, я нашел два разных ответа,

  1. Хранить данные в файле блокнота (.txt)
  2. Хранить данные в CSV-файле

МОЙ ВОПРОС - ЭТО ОДИН ФАЙЛ ДАННЫХ? и как вы извлекаете ПИН-код пользователя (после того, как он введен из буфера), чтобы проверить, верны ли оба? Любая помощь очень ценится!

4 ответа

Решение

Из википедии:

Файл данных - это компьютерный файл, в котором хранятся данные для использования компьютерным приложением или системой.

Так что оба *.txt файл и *.csv файл файлы данных.

*.csv (значения, разделенные запятыми) по сути *.txt файл, который разделяет ваши значения ,

2 метода, которые вы нашли, должны делать то же самое, но будет проще использовать csv-метод.

Самый простой способ - использовать Properties учебный класс. Он хранит пары ключ / значение и может сохранять данные в файлах свойств. Вот рабочий пример:

Properties p = new Properties();
p.setProperty("johndoe.pin", "12345");
p.store(new FileWriter("myfile.properties", "");

и чтение:

Properties p = new Properties();
p.load(new FileReader("myfile.properties", "");

Проверка будет выполнена с помощью объекта свойств:

public boolean isValid(String user, String pin) {
  return pin.equals(p.getProperty(user + ".pin"));
}

Это легко, но, конечно, шифрования нет. Файл хранится в виде простого текста, включая PIN-коды.

Сериализация - это еще один метод постоянного хранения.
Вы можете создать класс, который реализует Serializable с полем для каждой части данных, которые вы хотите сохранить. Затем вы можете записать весь класс в файл и прочитать его позже. Я считаю, что интерфейс Serializable выводит класс в какое-то двоичное / шестнадцатеричное представление.

Существуют и другие способы выполнения сериализации без использования стандартной сериализации Java, например, вы можете использовать библиотеку JSON.

Неважно, TXT или CSV. Вы даже можете сохранить его в формате XML. Не путайте с расширением файла. Единственное, о чем вы должны заботиться, это "как вы можете сохранить / загрузить эти данные".

  1. Сохранение в.txt - это хорошо, но, возможно, вам нужно будет определить свое собственное "форматирование", чтобы убедиться, что вы можете загрузить эти данные.
  2. Если вы сохраните его в.csv, это тоже хорошо, поскольку вам не нужно придумывать свое собственное "форматирование". Просто следуйте нескольким традиционным форматам, таким как разделитель, кодировщик и т. Д.
  3. Сохранять в другом формате тоже хорошо. Например, XML. Но, опять же, вам нужно следовать традиционному форматированию в XML, например, DTD.

Удачи

Другие вопросы по тегам