注:此文仅为个人学习笔记
创建一个user.properties
建立一个方法
public void remberusers(String username, String password){
Properties prop = new Properties();
try {
System.out.println("记住密码");
FileOutputStream oFile = new FileOutputStream("user.properties", false); //这里true表示追加,false会将原文件清空后,重新添加.
prop.setProperty("loginName", username);
prop.setProperty("passWord",password);
prop.setProperty("flag","1");//用以判断是否输出用户名密码
prop.store(oFile, null);
oFile.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public void remberusers2(String username,String password){
Properties prop = new Properties();
try {
System.out.println("取消记住密码");
FileOutputStream oFile = new FileOutputStream("user.properties", false);
prop.setProperty("loginName", username);
prop.setProperty("passWord",password);
prop.setProperty("flag","0");
prop.store(oFile, null);
oFile.close();
}catch (Exception e) {
e.printStackTrace();
}
}
登陆按钮中当用户名密码输入正确时
//判断check是否选中以执行remberusers or remberusers2
if(jzmm.isSelected()){
method.remberusers(userName,passWord);
}else{
method.remberusers2(userName,passWord);
}
在Main中添加
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
JFXCheckBox jzmm = (JFXCheckBox) root.lookup("#jzmm");//绑定控件id
//读取user.properties中的数据
Properties prop = new Properties();
try {
if (new File("user.properties").exists()) {
InputStream in = new BufferedInputStream(new FileInputStream("user.properties"));
prop.load(in);
for (String key : prop.stringPropertyNames()) {
if(prop.getProperty("flag").equals("1")){
username.setText(prop.getProperty("loginName"));
password.setText(prop.getProperty("passWord"));
jzmm.setSelected(true);
}else {
username.setText(prop.getProperty("loginName")); //实现仅自动记住上使用过的账号
password.setText("");
jzmm.setSelected(false);
}
}
in.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
效果