所以,我正在Java Swing上创建一个具有登录和创建播放器区域的程序。问题是,我一直坚持如何保存用户在创建播放器时引入的数据(用户名和密码)。基本上,数据稍后将用于验证用户的登录。我被建议使用一串字符串;但我是初学者,我已经阅读了几页并查找了视频教程,并且不知道如何保存这些数据。我真的很感激一些帮助;请原谅任何语法错误,我不是母语为英语的人哈哈......
答案 0 :(得分:2)
出于初学者的目的,您可能不希望进入任何数据库或加密代码并坚持使用简单的文件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块,在这种情况下,它将打印错误的堆栈跟踪。如果由于某种原因无法写入/读取文件,或者(对于某些对象)文件不存在,则处理文件时可能会发生错误。
我希望这会有所帮助。