Методы хранения постоянных данных в Java - PullRequest
0 голосов
/ 27 августа 2010

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

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

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

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

Ответы [ 4 ]

2 голосов
/ 27 августа 2010

Самый простой способ - использование класса 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-коды.

1 голос
/ 27 августа 2010

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

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

То есть оба файла *.txtи файл *.csv - это файлы данных.

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

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

0 голосов
/ 27 августа 2010

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

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

0 голосов
/ 27 августа 2010

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

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

Удачи

...