【问题标题】:Storing User Data Java Swing [closed]存储用户数据 Java Swing [关闭]
【发布时间】:2015-08-18 02:16:01
【问题描述】:

所以,我正在 Java Swing 上制作一个具有登录和创建播放器区域的程序。问题是,我一直纠结于如何保存用户在创建播放器时引入的数据(用户名和密码)。基本上,这些数据稍后将用于验证用户的登录。有人建议我使用字符串数组;但我是初学者,我已经阅读了几页并查找了视频教程,但不知道如何保存这些数据。我真的很感激一些帮助;请原谅任何语法错误,我不是以英语为母语的人哈哈..

【问题讨论】:

  • 如果您希望程序在终止后仍保存数据,则必须将其保存在数据库中。
  • java.util.prefs.Preferences
  • 有多种可能性,请查看this discussion了解更多详情

标签: java swing


【解决方案1】:

作为初学者,您可能不想进入任何数据库或加密代码并坚持使用简单的文件 I/O。基本上,您以编程方式创建一个新文件并将所有数据写入其中。

try {
    PrintWriter writer = new PrintWriter("mydata.ser");

    writer.println(getUserName());
    writer.println(getPassword());

    writer.close();
}
catch(Exception ex) {
    ex.printStackTrace();
}

...

try {
    BufferedReader reader = new BufferedReader(new FileReader("mydata.ser"));

    System.out.println(reader.readLine());
    System.out.println(reader.readLine());

    reader.close();
}
catch(Exception ex) {
    ex.printStackTrace();
}

您在这里所做的是使用 PrintWriter 创建一个新文件,并将用户名和密码写入其中。这样,在您的程序结束后,数据仍然存在于文件中。然后,当您想再次加载数据时,将 BufferedReader 链接到 FileReader 并从文件中读取行。请注意,我关闭了 PrintWriter 和 BufferedReader。

因为您是初学者,所以我知道您可能不知道 try-catch 是什么(如果您知道,很抱歉假设您不知道,但我只是想安全一点)。您尝试执行块中的代码,但如果发生了 catch 块中指定的类型的异常(在本例中为 Exception 或其任何子类;也就是任何异常),那么程序将跳到 catch 块,在这种情况下,它将打印错误的堆栈跟踪。如果由于某种原因无法写入/读取文件或(对于某些对象)文件不存在,则处理文件时可能会发生错误。

我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多