【Java学习笔记】19.登录和注册案例(IO流实现)
来源:互联网 发布:淘宝登录会员名怎么改 编辑:程序博客网 时间:2024/06/08 16:34
1.User用户类
package com.edu.domain;public class User { private String userName; private String passWord; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassWord() { return passWord; } public void setPassWoed(String passWord) { this.passWord = passWord; } public User(String userName, String passWord) { super(); this.userName = userName; this.passWord = passWord; } public User() { super(); // TODO Auto-generated constructor stub }}
2.UserDao接口
package com.edu.dao;import java.io.IOException;import com.edu.domain.User;public interface UserDao { //定义两个功能 //注册功能 public abstract void regist(User user) throws IOException; //登录功能 public abstract boolean isLogin(String userName,String passWord);}
3.UserDaoImpl接口实现类
package com.edu.dao.impl;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import com.edu.dao.UserDao;import com.edu.domain.User;public class UserDaoImpl implements UserDao{ public static File file = new File("user.txt"); //静态代码块,随着类的加载而加载 static{ try{ file.createNewFile(); }catch(IOException e){ e.printStackTrace(); } } //注册功能 @Override public void regist(User user) throws IOException { try{ //把用户信息存进文件里 String info=user.getUserName()+"="+user.getPassWord(); //创建高效字符输出流来给文件写入数据,创建了一个可以追加写入的FileWriter,避免了文件中之前的用户信息被覆盖 BufferedWriter bw = new BufferedWriter(new FileWriter("user.txt",true)); bw.write(info); bw.newLine(); bw.flush(); bw.close(); }catch(IOException e){ e.printStackTrace(); } } //登录功能 @Override public boolean isLogin(String userName, String passWord) { boolean flag=false; try{ //创建高效字符输入流来读取数据 BufferedReader br = new BufferedReader(new FileReader("user.txt")); String line; while ((line=br.readLine())!=null) { String[] s=line.split("="); if (s[0].equals(userName)&&s[1].equals(passWord)) { flag=true; } } }catch(IOException e){ e.printStackTrace(); } return flag; }}
4。Test测试类
package com.edu.test;import java.io.IOException;import java.util.Scanner;import com.edu.dao.impl.UserDaoImpl;import com.edu.domain.User;import com.edu.game.GuessNumber;public class Test { public static void main(String[] args) throws IOException { while (true) { //创建键盘录入对象,获取键盘录入信息 Scanner sc = new Scanner(System.in); System.out.println("欢迎来到注册登录界面!"); System.out.println("1.注册"); System.out.println("2.登录"); System.out.println("3.退出"); String choice = sc.nextLine(); //创建一个用户操作类 UserDaoImpl udi = new UserDaoImpl(); //利用switch循环对选择进行操作 switch(choice){ case "1": System.out.println("欢迎来到注册界面!"); System.out.println("请输入用户名:"); String userName = sc.nextLine(); System.out.println("请输入密码:"); String passWord = sc.nextLine(); User user = new User(userName,passWord); udi.regist(user); System.out.println("注册成功!"); break; case "2": System.out.println("欢迎来到登录界面!"); System.out.println("请输入用户名:"); String inputUserName = sc.nextLine(); System.out.println("请输入密码:"); String InputPassWord = sc.nextLine(); if (udi.isLogin(inputUserName,InputPassWord)) { System.out.println("登陆成功!可以玩游戏了!"); GuessNumber.playGame(); }else{ System.out.println("登录失败!"); } break; case "3": default: //对于3或者其他数字的选择,都直接退出系统 System.exit(0); break; } } }}
5.运行结果
阅读全文
0 0
- 【Java学习笔记】19.登录和注册案例(IO流实现)
- Java实现--登录和注册案例(IO流实现)
- 登录注册案例(IO实现)
- 【Java学习笔记】15.登录注册案例的实现(集合篇)
- IO流_登录注册案例IO版实现
- java案例-基于IO流的登录注册案例
- JAVA-14.2-登录注册案例分析(IO流版)
- java学习笔记(三十一)i/o流实现登陆注册案例
- Java实现--登录和注册案例(把用户信息存进集合)
- java web 学习笔记二,注册和登录功能
- 登录注册案例(集合实现)
- QT学习笔记(实现登录注册界面)
- Java Web 案例一 登录、注册功能实现
- 用户注册和登录案例
- JAVA 入门学习之路-注册登录案例。
- Android学习笔记(四十八):注册注销登录MVC模式案例
- java学习笔记(二十四)注册登录系统
- 登陆注册案例——IO流实现
- java生成UUID通用唯一识别码 (Universally Unique Identifier)
- Tensorflow 学习笔记 vs code 的用户配置
- JS定时跳转页面
- Android Studio 查看签名文件中的签名
- 插入HTML标签或表格
- 【Java学习笔记】19.登录和注册案例(IO流实现)
- |hdu 3966|树链剖分|线段树|Aragorn's Story
- Codeforces 794C
- 中文技术文档写作规范
- java之多线程
- Lintcode 转换字符串到整数
- BZOJ4849 [Neerc2016]Mole Tunnels
- 蓝桥杯_地址转换
- 8090影子银行