基于IO版的用户登录注册实例(Java)
今天学的是用户登录注册功能。
4个包:
itcast.cn.user包User.java用户类,描述用户基本信息,包括成员变量,无参构造函数,带参构造(可有可无).get和set方法
packageitcast.cn.day22; /* *用户基本描述包类 */ publicclassUser{ privateintuserName; privateintpassWord; publicUser(){ super(); } publicUser(intuserName,intpassWord){ super(); this.userName=userName; this.passWord=passWord; } publicintgetUserName(){ returnuserName; } publicvoidsetUserName(intuserName){ this.userName=userName; } publicintgetPassWord(){ returnpassWord; } publicvoidsetPassWord(intpassWord){ this.passWord=passWord; } }
tcast.cn.uerDao包UserDao.java定义一个接口,声明登录注册功能
publicinterfaceUserDao{ 2publicabstractbooleanislogin(StringuserName,StringpassWord); 3publicabstractvoidregister(Useruser); 4}
itcast.cn.userDaoImpl包UserDaoImpl.java实现UserDao接口,具体描述登录注册方法。
需要注意的是:在登录方法中,返回值booleanflag=true即登录成功
在实现过程中需要注意的一点是:全局变量br,bw的声明一定要放在try大括号外
IO版本实现方法代码如下:
publicclassUserDaoImplimplementsUserDao{ @Override publicbooleanislogin(StringuserName,StringpassWord){ booleanflag=false; BufferedReaderbr=null; try{ br=newBufferedReader(newFileReader("user,txt")); Stringline=null; while((line=br.readLine())!=null){ String[]datas=line.split("="); if(datas[0].equals(userName)&&datas[1].equals(passWord)){ flag=true; break; } } } catch(FileNotFoundExceptione){ //e.printStackTrace(); System.out.println("用户信息获取失败"); }catch(IOExceptione){ //e.printStackTrace(); System.out.println("用户登录失败"); } if(br!=null){ try{ br.close(); }catch(IOExceptione){ //e.printStackTrace(); System.out.println("用户释放资源失败"); } } returnflag; } @Override publicvoidregister(Useruser){ BufferedWriterbw=null; try{ bw=newBufferedWriter(newFileWriter("user.txt")); bw.write(user.getUserName()+"="+user.getPassWord()); bw.newLine(); }catch(IOExceptione){ //e.printStackTrace(); System.out.println("注册失败"); }finally{ if(bw!=null){ try{ bw.close(); }catch(IOExceptione){ //e.printStackTrace(); System.out.println("注册释放资源失败"); } } } 57} }
itcast.cn.usertest包UserTest类测试类
在这个类中,存在一个未解决的问题:
scanner函数无法一个一个的输入,另外构造方法中的(true)需要多看。
packageitcast.cn.day22; importjava.util.Scanner; publicclassUserTest{ publicstaticvoidmain(String[]args){ //欢迎界面 while(true){ UserDaoud=newUserDaoImpl(); System.out.println("*****欢迎进入*****"); System.out.println("登录请输入1"); System.out.println("注册请输入2"); System.out.println("返回请输入3"); System.out.println("请输入你的选择:"); Scannersc=newScanner(System.in); intchoice=sc.nextInt(); switch(choice){ case1: System.out.println("*****登录界面*****************"); //Scannersc1=newScanner(System.in); System.out.println("请输入用户名:"); StringuserName=sc.nextLine(); System.out.println("请输入密码:"); StringpassWord=sc.nextLine(); booleanflag=ud.islogin(userName,passWord); if(flag){ System.out.println("登录成功"); break; }else{ System.out.println("用户名或密码错误"); } case2: System.out.println("*****注册界面****************"); System.out.println("请输入用户名:"); StringuserName1=sc.nextLine(); System.out.println("请输入密码:"); StringpassWord1=sc.nextLine(); Useruser=newUser(); user.getUserName(); user.getPassWord(); ud.register(user); System.out.println("注册成功"); break; case3: default: System.out.println("谢谢使用,欢迎下次再来"); System.exit(0); break; } } } }
以上这篇基于IO版的用户登录注册实例(Java)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。