简单的流操作实现账户的注册、登录、修改密码

来源:互联网 发布:单片机串口中断c语言 编辑:程序博客网 时间:2024/06/05 11:45

 /*this is a command manage system code ,cotian three method:register(); load(); exit()
 *
 * @author dnktty
 */
import java.io.*;
import java.util.Properties;


public class CommandManage {

/*
 *
 * register() provide a way to become a member of manage system.
 * */
    public void register(){
        System.out.println("/n欢迎注册命令管理系统/n");
        File file=new File("idMessage.bat");
        BufferedReader buffR=new BufferedReader(
                            new InputStreamReader(System.in));

       

        try {


            //get input name and password
            System.out.println("请输入用户名:");
            String userName = buffR.readLine();

           

            //save name and password
            BufferedWriter buffW=new BufferedWriter(
                                    new OutputStreamWriter(
                                        new FileOutputStream(file,true)));
            BufferedReader buffRFile=new BufferedReader(
                                        new InputStreamReader(
                                            new FileInputStream(file)));
            Properties prop=new Properties();
            prop.load(buffRFile);
            if(prop.getProperty(userName)!=null){
                System.out.println("/n对不起,此用户名已存在!请重新输入!");
                register();
          
            }else{
             System.out.println("请输入密码:");
             String passWord=buffR.readLine();
             prop.setProperty(userName, passWord);
             prop.store(buffW, "User name and password");
             }
              //close streams
       


        } catch (IOException ex) {
            ex.printStackTrace();
        }

 


    }

 

  /***********************************************************************
   *
   *
   *
   * load method for loading this system.
   *
   *
   * */

    public void load(){

        System.out.println("/nThis is a command manage system! you can input your id to load");
        File file=new File("idMessage.bat");

        try {
            BufferedReader buffRFile = new BufferedReader(
                                        new InputStreamReader(
                                            new FileInputStream(file)));

           BufferedReader buffRIn = new BufferedReader(
                                        new InputStreamReader(System.in));

           BufferedWriter buffWFile=new BufferedWriter(
                                        new OutputStreamWriter(
                                            new FileOutputStream(file,true)));


            //get input message: name and password;
           System.out.println("Load Id:");
           String userNameIn=buffRIn.readLine();
          
           System.out.println("Password:");
           String passwordIn=buffRIn.readLine();


           //confirm name and password;
           Properties prop=new Properties();
           prop.load(buffRFile);
   
           if(prop.getProperty(userNameIn)!=null){

                if(prop.getProperty(userNameIn).equals(passwordIn)){

                    System.out.println("/n/n"+userNameIn+"/twelcome to command manage system!/n");
                    System.out.println("1. If you want change your password,please input /"changepassword/"");
                    System.out.println("2. If you want exit this system,please input /"exit/"");
                    System.out.println("2. If you want return load ,please input /"back"+'"');
                   
                    //change password;
                    String str=buffRIn.readLine();  //不能放在两个if中!!!!!!;

                    if(str.equals("changepassword")){
                    System.out.println("please input your new password!");
                    String newPasswordFir=buffRIn.readLine();
                    System.out.println("please confirm your new password!");
                    String newPasswordSec=buffRIn.readLine();


                        if(newPasswordFir.equals(newPasswordSec)){

                        prop.setProperty(userNameIn,newPasswordFir);
                        prop.store(buffWFile,"Change password again");
                        buffWFile.close();
                        System.out.println("success! your password had changed!");
                        load();
                        }else{
                        System.out.println("/n/nThe two password is different,please load again!");
                        load();
                        }
                    }

                     //exit system;
                    if(str.equals("exit")){
                        System.out.println(".../n..../n.../nSystem is closing.......");
                        sysExit();

                    }

                    //back load;
                    if(str.equals("back")){
                        load();

                    }
  
                }//end check password;
                else{
                    System.out.println("wrong password! please try again!/n/n");
                    load();
                }
           }//end chek nameIn;
           else{
               System.out.println("wrong Id! pease try again!/n/n");
               load();
           }

          
           buffRIn.close();
           buffRFile.close();
        }//end try;
        catch (IOException ex) {
           ex.printStackTrace();
        }
 }


/*
 *
 * sysExit() for eixt this system
 *
 * */
    public void sysExit(){
       
        System.out.println("Thank you for using this system./nThe command manage system is quit!");
        System.exit(0);
    }


}

原创粉丝点击