Java基于IO版实现用户登录注册的案例

下面小编就为大家带来一篇基于IO版的用户登录注册实例(Java)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

今天学的是用户登录注册功能。

4个包:

itcast.cn.user包 User.java 用户类,描述用户基本信息,包括成员变量,无参构造函数,带参构造(可有可无).get和set方法

package itcast.cn.day22;/* * 用户基本描述包类 */public class User { private int userName; private int passWord; public User(){  super(); } public User(int userName,int passWord){  super();  this.userName=userName;  this.passWord=passWord;   } public int getUserName() {  return userName; } public void setUserName(int userName) {  this.userName = userName; } public int getPassWord() {  return passWord; } public void setPassWord(int passWord) {  this.passWord = passWord; }}

tcast.cn.uerDao包 UserDao.java 定义一个接口,声明登录注册功能

public interface UserDao {  2 public abstract boolean islogin( String userName, String passWord); 3 public abstract void register(User user); 4 }

itcast.cn.userDaoImpl包 UserDaoImpl.java 实现UserDao接口,具体描述登录注册方法。

需要注意的是:在登录方法中,返回值boolean flag = true 即登录成功

在实现过程中需要注意的一点是:全局变量br,bw的声明一定要放在try大括号外

IO版本实现方法代码如下:

public class UserDaoImpl implements UserDao{@Overridepublic boolean islogin(String userName, String passWord) {boolean flag = false;BufferedReader br = null;try {br = new BufferedReader(new FileReader("user,txt"));String line = null;while((line=br.readLine())!=null){String[] datas = line.split("=");if(datas[0].equals(userName)&&datas[1].equals(passWord)){flag = true;break;}}} catch (FileNotFoundException e) {//e.printStackTrace();System.out.println("用户信息获取失败");}catch (IOException e) {//e.printStackTrace();System.out.println("用户登录失败");}if(br!=null){try {br.close();} catch (IOException e) {//e.printStackTrace();System.out.println("用户释放资源失败");}}return flag;}@Overridepublic void register(User user) {BufferedWriter bw = null; try {bw = new BufferedWriter(new FileWriter("user.txt"));bw.write(user.getUserName()+"="+user.getPassWord());bw.newLine();} catch (IOException e) {//e.printStackTrace();System.out.println("注册失败");}finally{if(bw!=null){try {bw.close();} catch (IOException e) {//e.printStackTrace();System.out.println("注册释放资源失败");}}}57}}

itcast.cn.usertest包 UserTest类 测试类

在这个类中,存在一个未解决的问题:

scanner函数无法一个一个的输入,另外构造方法中的(true)需要多看。

package itcast.cn.day22;import java.util.Scanner;public class UserTest {public static void main(String[] args) {//欢迎界面while(true){UserDao ud = new UserDaoImpl();System.out.println("*****欢迎进入*****");System.out.println("登录请输入1");System.out.println("注册请输入2");System.out.println("返回请输入3");System.out.println("请输入你的选择:");Scanner sc = new Scanner(System.in);int choice = sc.nextInt();switch(choice){case 1:System.out.println("*****登录界面*****************");//Scanner sc1 = new Scanner(System.in);System.out.println("请输入用户名:");String userName = sc.nextLine();System.out.println("请输入密码:");String passWord = sc.nextLine();boolean flag = ud.islogin(userName, passWord);if(flag){System.out.println("登录成功");break;}else{System.out.println("用户名或密码错误");}case 2:System.out.println("*****注册界面****************");System.out.println("请输入用户名:");String userName1 = sc.nextLine();System.out.println("请输入密码:");String passWord1 = sc.nextLine();User user = new User();user.getUserName();user.getPassWord();ud.register(user);System.out.println("注册成功");break;case 3:default:System.out.println("谢谢使用,欢迎下次再来");System.exit(0);break;}}}}

以上就是Java基于IO版实现用户登录注册的案例的详细内容,更多请关注其它相关文章!

启程了,人的智慧才得以发挥。

Java基于IO版实现用户登录注册的案例

相关文章:

你感兴趣的文章:

标签云: