Методы хранения постоянных данных в Java
В настоящее время я выполняю задание по программированию, и в нем говорится, что мы должны "сохранить все данные в файле данных и проверить совместимость PIN-кода пользователя и номера учетной записи.
К сожалению, мой лектор не учил нас о файлах данных, и когда я гуглил, я нашел два разных ответа,
- Хранить данные в файле блокнота (.txt)
- Хранить данные в 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. Не путайте с расширением файла. Единственное, о чем вы должны заботиться, это "как вы можете сохранить / загрузить эти данные".
- Сохранение в.txt - это хорошо, но, возможно, вам нужно будет определить свое собственное "форматирование", чтобы убедиться, что вы можете загрузить эти данные.
- Если вы сохраните его в.csv, это тоже хорошо, поскольку вам не нужно придумывать свое собственное "форматирование". Просто следуйте нескольким традиционным форматам, таким как разделитель, кодировщик и т. Д.
- Сохранять в другом формате тоже хорошо. Например, XML. Но, опять же, вам нужно следовать традиционному форматированию в XML, например, DTD.
Удачи