在做个用户注册的界面时,要把用户名和密码保存到文本文件中,我的问题是在保存前要做个判断用户名是否存在,还有用户登陆时要判断用户名和密码是否正确,该怎么做?
这个用数据库很容易,用文本就不知该怎么做了………………在io在有个串行化接口Serializable,是不是用这个啊?
我弄了好久都弄不好,请高手指点~~

解决方案 »

  1.   

    把文本文件按行读取,然后比较新的用户名和密码,保存时可以将用户名密码以特殊形式进行存贮,如www-123456主要是为了方便比较,每行不要有空格。
      

  2.   

    public void jButton1_actionPerformed(ActionEvent e) {
           String name=t1.getText();
           String pwd=t2.getText();
           Student stu=new Student(name,pwd);
           Student test;
            try {
                FileOutputStream file_out = new FileOutputStream("ttt.txt", true);
                ObjectOutputStream object_out = new ObjectOutputStream(file_out);            FileInputStream file_in=new FileInputStream("ttt.txt");
                ObjectInputStream object_in=new ObjectInputStream(file_in);            
                
                              while(true)
                              {
                                      try{
                                              test=(Student)object_in.readObject();                                  if (stu.name.equals(test.name))
                                      {
                                              System.out.println("用户已经存在!");
                                              break;
                                      }
                                      }catch(EOFException ee){
                                     object_out.writeObject(stu);
                                      System.out.println("结束");
                                      break;                                  }                          }        }         catch(ClassNotFoundException event)
            {  System.out.println("不能读出对象");
             }
            catch (IOException event) {
                System.out.println("can not read file:  " + event);
            }
        }
    }
      

  3.   

    FileOutputStream file_out = new FileOutputStream("ttt.txt", true);
                ObjectOutputStream object_out = new ObjectOutputStream(file_out);            FileInputStream file_in=new FileInputStream("ttt.txt");
                ObjectInputStream object_in=new ObjectInputStream(file_in);
    不好,
      

  4.   

    自己解决了   String name = jTextField1.getText();
            String pwd = jTextField2.getText();
            String dir = jTextField3.getText();
            String fr = null;
            String fw = null;
            String fd = null;
            String dl = null;
            String dc = null;
            String dd = null;        if (jCheckBox5.isSelected()) {
                fr = "只读";
            }
            if (jCheckBox6.isSelected()) {
                fw = "只写";
            }
            if (jCheckBox8.isSelected()) {
                fd = "删除";
            }
            if (jCheckBox7.isSelected()) {
                dc = "创建";
            }
            if (jCheckBox1.isSelected()) {
                dl = "列表";
            }
            if (jCheckBox2.isSelected()) {
                dd = "目录删除";
            }        User user = new User(name, pwd, dir, fr, fw, fd, dc, dl, dd);
            // goods_list.add(user);        try {
                FileInputStream come_in = new FileInputStream(
                        "user.txt");
                ObjectInputStream in = new ObjectInputStream(come_in);
                goods_list = (LinkedList) in.readObject();
                in.close();
            } catch (ClassNotFoundException event) {} catch (IOException event) {}
            for (int i = 0; i < goods_list.size(); i++) {
                User temp = (User) goods_list.get(i);
                if (temp.name.equals(name)) {
                    
                    System.out.println("用户已经存在!!!");
                    return;
                }        }
            try {
                goods_list.add(user);
                FileOutputStream file = new FileOutputStream(
                        "user.txt");
                ObjectOutputStream out = new ObjectOutputStream(file);
                out.writeObject(goods_list);
                out.close();
                System.out.println("用户添加成功!!!");
                jTextField1.setText("");
                jTextField2.setText("");
                jTextField3.setText("");        } catch (IOException event) {}