登录注册案例(IO实现)
来源:互联网 发布:萧山网络问政发帖区 编辑:程序博客网 时间:2024/06/07 10:48
1:需求分析:
我们要做一个用IO实现的一个小型登录注册页面,它存在三个选项,注册,登录,退出系统。
2:具体步骤:
在写这个案例的时候,我们需要注意不同的包的命名规则,做到见明知义。
A:创建一个com.edu.domain的包,并创建一个User类
B:创建一个com.edu.dao的包,并创建一个Userdao的一个类,里边存放的实现登陆注册方法的接口。
C:创建一个com.edu.dao.impl的包,并创建一个UserDaoImpl的类,在其中存放具体实现类的方法。创建静态代码块是为了让user.txt随着类的加载而创建。
在注册方法中首先取出user对象中的用户名和密码,存入user.txt对象,然后创建一个创建了一个可以追加写入的FileWriter,即可以注册多个用户,然后往文件中写数据。
在登录方法中创建字符高效流对象,关联user.txt一次读取一行,将读取到的内容切割并且和前台传递过来的用户名和密码进行对比,成功则改变flag的标识。
D:创建一个com.edu.test的包,创建一个Test的类。
如图所示:
3:具体代码
User.java
package com.edu.admin;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 }}
UserDao.java
package com.edu.dao;import com.edu.admin.User;public interface UserDao { //注册 public abstract void regist(User user); //登录 public abstract boolean isLogin(String name,String password);}
UserDaoImpl.java
package com.edu.dao.impl;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import com.edu.admin.User;import com.edu.dao.UserDao;public class UserDaoImpl implements UserDao{ private static File file=new File("user.txt"); static{ try { file.createNewFile(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public void regist(User user) { String info=user.getUserName()+"="+user.getPassword(); try { BufferedWriter bw = new BufferedWriter(new FileWriter(file,true)); bw.write(info); bw.newLine(); bw.flush(); bw.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public boolean isLogin(String name, String password) { boolean flag=true; String line; try { BufferedReader br=new BufferedReader(new FileReader(file)); try { while((line=br.readLine())!=null){ String[] strings = line.split("="); if(name.equals(strings[0])&&password.equals(strings[1])){ flag=true; } } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } return flag; }}
Test.java
package com.edu.test;import java.util.Scanner;import com.edu.admin.User;import com.edu.dao.impl.UserDaoImpl;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 name = sc.nextLine(); System.out.println("请输入你的密码"); String password = sc.nextLine(); User user = new User(name, password); udi.regist(user); System.out.println("注册成功"); break; case "2": System.out.println("欢迎来到登录页面"); System.out.println("请输入你的用户名"); String name1 = sc.nextLine(); System.out.println("请输入你的密码"); String Password = sc.nextLine(); boolean login = udi.isLogin(name1, Password); if (login) { System.out.println("登录成功"); }else { System.out.println("登录失败"); } break; case "3": default: System.exit(0); break; } } }}
4:运行结果
user.txt里边的内容:
阅读全文
0 0
- 登录注册案例(IO实现)
- Java实现--登录和注册案例(IO流实现)
- IO流_登录注册案例IO版实现
- 【Java学习笔记】19.登录和注册案例(IO流实现)
- JAVA-14.2-登录注册案例分析(IO流版)
- 登录注册案例(集合实现)
- java案例-基于IO流的登录注册案例
- 集合实现用户登录注册案例
- 黑马程序员_关于使用IO进行登录注册案例
- 用户注册登录案例
- 登录注册案例
- 用户登录注册案例
- android_MVPd登录注册案例
- 登陆注册案例——IO流实现
- 【Java学习笔记】15.登录注册案例的实现(集合篇)
- Java实现--登录和注册案例(把用户信息存进集合)
- Java Web 案例一 登录、注册功能实现
- 黑马程序员_集合实现控制台登录注册案例
- Linux 中 SVN 重启关闭
- C-pointer—array
- Unity非运行模式下实现动画播放/回退工具
- 读取配置文件随想
- mysql时间函数
- 登录注册案例(IO实现)
- [李景山php] swoole系列实用案例-TCPserver
- 一个自定义的bottomsheet
- [leetcode: Python]415. Add Strings
- java运行class文件或jar文件
- Tomcat 内存溢出对应解决方式
- Index Match beat Vlookup的场景
- 如何解决android studio找不到手机!
- Java 的 Socket 服务器和客户端通信的例子