Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中保存最后的输入字符串?_Java_Login_Persistence_Joptionpane - Fatal编程技术网

如何在Java中保存最后的输入字符串?

如何在Java中保存最后的输入字符串?,java,login,persistence,joptionpane,Java,Login,Persistence,Joptionpane,下面的代码是一个用于登录和密码的弹出窗口(JOptionPane)。 如何让Java程序记住这两个字符串:log和pass,这样当用户关闭程序并下次打开它时。。。上次插入的日志和通行证是否已默认存在 import javax.swing.*; public class TestJP { public static String log; public static String pass; public static void m

下面的代码是一个用于登录和密码的弹出窗口(JOptionPane)。 如何让Java程序记住这两个字符串:
log
pass
,这样当用户关闭程序并下次打开它时。。。上次插入的
日志
通行证
是否已默认存在

 import javax.swing.*;


    public class TestJP {

        public static String log;
        public static String pass;

        public static void main(String[] args) {



                  JTextField login = new JTextField(5);
                  JPasswordField password = new JPasswordField(5);

                  JPanel myPanel = new JPanel();
                  myPanel.add(new JLabel("login:"));
                  myPanel.add(login);
                  myPanel.add(Box.createHorizontalStrut(15)); 
                  myPanel.add(new JLabel("password:"));
                  myPanel.add(password);

                  int result = JOptionPane.showConfirmDialog(null, myPanel, 
                           "Please Login", JOptionPane.OK_CANCEL_OPTION);
                  if (result == JOptionPane.OK_OPTION) {
                     log = login.getText();
                     pass = password.getText();
                     System.out.println("login: " + log);
                     System.out.println("password: " + pass);
                  }

               }

        }

将它们保存到文件中,并在启动时读取。示例位于。

将其保存到文件中,并在启动时读取。示例位于。

有许多选择可供您选择,这些选择将归结为您想要实现的目标

一句警告的话。如果我是你,我不会保存密码,没有一种方法是防黑客的

你可以:

  • 使用并将内容保存到/从文件中加载
  • 使用为您处理持久性的
  • 某种数据库系统。您可以使用或(例如)作为单用户数据库
  • 您可以简单地将内容写入平面文件
每一个都有它的优点和缺点。你需要权衡每一项,并决定哪一项最能满足你当前的需要


就个人而言,我喜欢
首选项
API,但这确实意味着您无法控制数据的存储位置。

您可以选择许多选项,这些选项最终取决于您想要实现的目标

一句警告的话。如果我是你,我不会保存密码,没有一种方法是防黑客的

你可以:

  • 使用并将内容保存到/从文件中加载
  • 使用为您处理持久性的
  • 某种数据库系统。您可以使用或(例如)作为单用户数据库
  • 您可以简单地将内容写入平面文件
每一个都有它的优点和缺点。你需要权衡每一项,并决定哪一项最能满足你当前的需要


就我个人而言,我喜欢
首选项
API,但这确实意味着你失去了对数据存储位置的控制。

@nachokk这是一个事半功倍的过程,特别是当你认为你可以只使用<代码>属性>保存> /COM>,并保存所有与<>代码> ObjutsStudio S和C铸造等有关的混乱:P- IMHO。我想这可能属于“平面文件”的范畴。这也是我可能不考虑使用DB的原因之一。有一个太多的头参与的小利益(在这个问题的背景下)@ NACHOKK这是一个很小的收益,特别是当你认为你可以只使用<代码>属性>保存>代码>,并保存所有乱七八糟的与<代码>对象流< /代码> S和铸造等:P - imHO。我想这可能属于“平面文件”的范畴。这也是我可能不考虑使用DB的原因之一。(在问题的上下文中)涉及到很多过头的事情,但没有什么好处