0

我目前正在做一个编程作业,它说我们应该“将所有数据存储在一个数据文件中,并需要检查用户 PIN 和帐号的兼容性。有效性”

不幸的是,我的讲师没有教我们数据文件,当我用谷歌搜索时,我发现了两个不同的答案,

  1. 将数据存储在记事本 (.txt) 文件中
  2. 将数据存储在 csv 文件中

我的问题是哪个是数据文件?以及如何检索用户 PIN(在从缓冲区阅读器中输入后)以检查两者是否正确?任何帮助是极大的赞赏!!

4

4 回答 4

2

来自维基百科:

数据文件是存储数据以供计算机应用程序或系统使用的计算机文件。

所以*.txt文件和*.csv文件都是数据文件。

*.csv逗号分隔值)文件本质上是一个*.txt文件,它通过,

您找到的 2 种方法应该做的差不多,但使用 csv 方法会更容易。

于 2010-08-27T11:48:39.547 回答
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。

于 2010-08-27T13:03:11.920 回答
0

不管是txt还是csv。您甚至可以将其保存在 xml 中。不要与文件扩展名混淆。您唯一应该关心的是“如何保存/加载这些数据”。

  1. 保存在 .txt 中很好,但也许您需要定义自己的“格式”,以确保您可以加载该数据。
  2. 如果您将其保存在 .csv 中也很好,因为您不必发明自己的“格式”。只需遵循几种传统格式,如分隔符、包围符等。
  3. 以另一种格式保存也很好。例如,XML。但是,同样,您需要遵循 XML 中的传统格式,例如 DTD。

祝你好运

于 2010-08-27T11:57:38.597 回答
0

序列化是另一种持久存储的方法。
您可以为要存储的每条数据创建一个实现 Serializable 的类,其中包含一个字段。然后你可以把整个类写到一个文件中,你可以稍后再读回来。我相信 Serializable 接口将类输出为某种二进制/十六进制表示。

还有其他方法可以在不使用标准 Java 序列化的情况下进行序列化,例如可以使用 JSON 库。

于 2010-08-27T13:08:19.037 回答