我目前正在进行编程任务,它说我们应该 “将所有数据存储在数据文件中,并且需要检查用户PIN和帐户号码有效性的兼容性”
不幸的是,我的讲师没有教我们数据文件,当我用Google搜索时,我发现了两个不同的答案,
我的问题是哪一个是数据文件?以及如何检索用户PIN(从缓冲区读取器输入后)以检查两者是否正确? 任何帮助是极大的赞赏!!
答案 0 :(得分:2)
最简单的方式是使用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 :(得分:1)
:
数据文件是一个计算机文件 存储供计算机使用的数据 应用程序或系统。
因此*.txt
文件和*.csv
文件都是数据文件。
*.csv
(逗号分隔值)文件实质上是*.txt
文件,用,
您找到的两种方法应该大致相同,但使用csv方法会更容易。
答案 2 :(得分:0)
无论是txt还是csv都无关紧要。您甚至可以将其保存在xml中。 不要混淆文件扩展名。您唯一应该关心的是“如何保存/加载这些数据”。
答案 3 :(得分:0)
序列化是持久存储的另一种方法 您可以创建一个实现Serializable的类,其中包含要存储的每个数据的字段。然后,您可以将整个类写入文件,稍后您可以将其读回。我相信Serializable接口将类输出为某种二进制/十六进制表示。
在不使用标准Java序列化的情况下,还有其他方法可以进行序列化,就像您可以使用JSON库一样。