在java中存储永久数据的方法

我目前正在做一个编程任务,它说我们应该 “将所有数据存储在数据文件中,并且需要检查用户PIN和帐户号码有效性的兼容性” 不幸的是,我的讲师没有教我们数据文件,当我用Google搜索时,我找到了两个不同的答案, 将数据存储在记事本(.txt)文件中 将数据存储在csv文件中 我的问题是哪一个是数据文件?以及如何检索用户PIN(从缓冲区读取器输入后)以检查两者是否正确? 任何帮助是极大的赞赏!!     
已邀请:
来自维基百科:   数据文件是计算机文件   存储供计算机使用的数据   应用程序或系统。 因此,
*.txt
文件和
*.csv
文件都是数据文件。
*.csv
(逗号分隔值)文件本质上是一个
*.txt
文件,用于将值分隔为
,
您找到的两种方法应该大致相同,但使用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。     
它是txt还是csv并不重要。您甚至可以将其保存在xml中。 不要混淆文件扩展名。您唯一应该关心的是“如何保存/加载这些数据”。 要保存.txt很好,但您可能需要定义自己的“格式”,以确保可以加载该数据。 如果你把它保存在.csv也很好,因为你不必发明自己的'格式'。只需遵循几种遗留格式,如分隔符,封装等。 以另一种格式保存也很好。例如,XML。但是,再次,您需要遵循XML中的遗留格式,如DTD。 祝好运     
序列化是持久存储的另一种方法。 您可以创建一个实现Serializable的类,其中包含要存储的每个数据的字段。然后,您可以将整个类写入文件,稍后您可以将其读回。我相信Serializable接口将类输出为某种二进制/十六进制表示形式。 还有其他方法可以在不使用标准Java序列化的情况下进行序列化,就像您可以使用JSON库一样。     

要回复问题请先登录注册