JAVA-14.2-登录注册案例分析(IO流版)
来源:互联网 发布:深圳淘宝摄影 编辑:程序博客网 时间:2024/05/22 06:19
和之前的登录注册案例分析(集合版)类似,基本思想完全一样(可参见http://blog.csdn.net/qq_30718113/article/details/71120739),无需大的改动,主要修改com.edu.dao.impl下的UserDaoImpl,
java中的分包:
com.edu.domain — 标准的java描述类
com.edu.dao – 存放的是接口
com.edu.dao.impl – 存放的是接口实现类
com.edu.util – 对对象进行操作的工具类
com.edu.test – 测试类
代码如下:
①com.edu.domain — 标准的java描述类
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 setPassword(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 }}
②com.edu.dao – 存放的是接口
package com.edu.dao;import com.edu.domain.User;public interface UserDao { //定义两个方法,一个登陆,一个注册 public abstract void regist(User user); public abstract boolean isLogin(String userName,String password);}
③com.edu.dao.impl – 存放的是接口实现类
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{ private static File file = new File("user.txt"); //静态代码块:随着类的加载而加载 static{ //创建文件 try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } @Override public void regist(User user) { try { //取出user对象中的用户名和密码,存入user.txt对象 String info = user.getUserName()+"="+user.getPassword(); BufferedWriter bw = new BufferedWriter(new FileWriter(file,true));//创建了一个可以追加写入的FileWriter //往文件中写入数据 bw.write(info); bw.newLine(); bw.flush(); bw.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public boolean isLogin(String userName, String password) { /** * 1.创建字符高效流对象,关联user.txt * 2.一次读取一行 * 3.将读取到的内容切割 * 4.和前台传递过来的用户名和密码进行对比,成功则改变flag的标示 */ boolean flag = false; try { BufferedReader br = new BufferedReader(new FileReader(file)); String line; while ((line = br.readLine())!=null) { String[] strings = line.split("="); if (userName.equals(strings[0])&&password.equals(strings[1])) { //改变标示 flag = true; } } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return flag; } }
④com.edu.test – 测试类
package com.edu.test;import java.util.Scanner;import com.edu.dao.impl.UserDaoImpl;import com.edu.domain.User;public class Test { public static void main(String[] args) { UserDaoImpl udi = new UserDaoImpl(); while (true) { System.out.println("-----欢迎来到登陆注册页面------"); System.out.println("1:注册"); System.out.println("2:登陆"); System.out.println("3:退出"); Scanner sc = new Scanner(System.in); String chioce = sc.nextLine(); switch (chioce) { 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(); boolean login = udi.isLogin(inputUserName, inputPassword); if (login) { System.out.println("登陆成功"); }else { System.out.println("登录失败"); } break; case "3": default: System.exit(0); break; } } }}
阅读全文
0 0
- JAVA-14.2-登录注册案例分析(IO流版)
- Java实现--登录和注册案例(IO流实现)
- 登录注册案例(IO实现)
- java案例-基于IO流的登录注册案例
- 【Java学习笔记】19.登录和注册案例(IO流实现)
- 用户登录注册案例分析
- 用户登录注册案例分析
- IO流_登录注册案例IO版实现
- 黑马程序员_关于使用IO进行登录注册案例
- Java使用IO模拟注册登录
- java案例-基于集合的登录注册案例
- JAVA-11.2-登陆注册案例分析(集合版)
- 用户注册登录案例
- 登录注册案例
- 用户登录注册案例
- android_MVPd登录注册案例
- 集合框架_用户登录注册案例分析图解
- 用户注册登录案例分析以及简单实现
- Android单位转换工具类
- 重新回来了
- Hadoop 伪分布式
- 杭电 题目分类
- Java List Of List 的嵌套使用
- JAVA-14.2-登录注册案例分析(IO流版)
- 在tomcat下context.xml中配置各种数据库连接池
- 【php基础班】第13天 this、星星案例、图片切换、总结
- Windows NT/2000下的空连接
- Apache Web服务
- 数据压缩原理实验3_实验报告
- hadoop搭建教程,多环境通吃
- LeetCode No.7 Reverse Integer
- 【设计模式】—— 单例模式Singleton