Java里面io流登录功能_Java用io流来实现用户注册和登录功能

该博客介绍了一个使用Java IO流实现用户注册和登录功能的案例。通过定义用户实体类UserEntity、用户功能接口UserDao及其实现类UserDaoImpl,实现了将用户信息存储到文件并进行注册和登录验证的功能。用户测试类UserTest用于注册测试,UserTest2用于登录测试。
摘要由CSDN通过智能技术生成

/*

*需求:用io流来实现用户注册和登录功能

*

*分析:

*   1.需要的类和接口

*      A.用户实体类:UserEntity

*      B.用户功能接口:UserDao

*      C.用户功能接口实现类:UserDaoImlp

*      D.用户功能测试类:UserTest注册测试类,UserTest2登录测试类

*   2.类和接口的成员

*      A.用户实体类:UserEntity

*       a.成员变量

*        (1)姓名:private String name

*        (2)密码:private String password

*        b.构造方法

*            (1)无参:public UserEntity()

*           (2)有参:public UserEntity(String name, String password)

*        c.成员方法

*           (1)设值方法 set()

*           (2)取值访求get()

*

*     B.用户功能接口:UserDao

*        a.成员方法

*          (1)用户注册方法:public void registerUser(UserEntity user)

*          (2)用户登录方法:public boolean isLoginUser(String name,String password);

*     C.用户功能接口实现类:UserDaoImlp

*        a.成员方法

*          (1)用户注册方法:public void registerUser(UserEntity user)

*          (2)用户登录方法:public boolean isLoginUser(String name,String password);

*      D.用户功能测试类:

*        a.UserTest注册测试类,

*          调用注册方法:registerUser(UserEntity user)

*       b.UserTest2登录测试类

*          调用登录方法:isLoginUser(String name,String password)

*   3.类和类,类和接口之间的关系

*      A.用户实体类:UserEntity,提供实体对象

*      B.用户功能接口:UserDao,提供对UserEntity操作方法的接口

*      C.用户功能接口实现类:UserDaoImlp,实现接口功能

*      D.用户功能测试类:UserTest注册测试类,UserTest2登录测试类,测试用户功能

*   4.分包

*      A.用户实体类:UserEntity:com.ma.entity.UserEntity

*      B.用户功能接口:UserDao:com.ma.dao.UserDao

*      C.用户功能接口实现类:UserDaoImlp:com.ma.dao.impl.UserDaoImlp

*      D.用户功能测试类:UserTest注册测试类,UserTest2登录测试类:

*        com.ma.test.UserTest

*        com.ma.test.UserTest2

*/

A.用户实体类:UserEntity

package com.ma.entity;

/**

* 用户实体类

* @author ma

*

*/

public class UserEntity {

//属性

//姓名

private String name;

//密码

private String password;

//构造方法

public UserEntity() {

super();

}

public UserEntity(String name, String password) {

super();

this.name = name;

this.password = password;

}

//成员方法

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

}

B.用户功能接口:UserDao

package com.ma.dao;

import com.ma.entity.UserEntity;

/**

* 用户功能接口

* @author ma

*

*/

public interface UserDao {

/**

* 用户注册方法

* @param user 用户对象

*/

public void registerUser(UserEntity user);

/**

* 用户登录方法

* @param name 用户名

* @param password 用户密码

* @return 成功返回true,否则返回false

*/

public boolean isLoginUser(String name,String password);

}

C.用户功能接口实现类:UserDaoImlp

package com.ma.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.ma.dao.UserDao;

import com.ma.entity.UserEntity;

/**

* 用户功能接口实现类

* @author ma

*

*/

public class UserDaoImple implements UserDao{

private static final File file = new File("user_informtion/userinfo.txt");

@Override

public void registerUser(UserEntity user) {

//初始化输出流

BufferedWriter bw = null;

//用户信息 不能为空

if(user != null){

try {

//实例化输出流

bw = new BufferedWriter( new FileWriter(file,true));

//写入数据

bw.write(user.getName()+"=>"+user.getPassword());

//创建新行

bw.newLine();

//刷新数据

bw.flush();

} catch (IOException e) {

//注册失败信息

System.out.println("注册失败:"+e.getMessage());

}finally{

try {

bw.close();

} catch (IOException e) {

System.out.println("关闭BufferedWriter输出流异常:"+e.getMessage());

}

}

}else{

//注册失败信息

System.out.println("注册失败:用户信息不能为空");

}

}

@Override

public boolean isLoginUser(String name, String password) {

boolean flag = false;

//初始化BufferedReader

BufferedReader br = null;

if(!name.equals("") && !password.equals("")){

try {

br = new BufferedReader(new FileReader(file));

String str = null;

//循环判断

while((str = br.readLine()) != null){

String[] data = str.split("=>");

if(data[0].equals(name)&&data[1].equals(password)){

flag = true;

break;

}

}

} catch (FileNotFoundException e) {

System.out.println("登录异常:"+e.getMessage());

} catch (IOException e) {

System.out.println("登录异常:"+e.getMessage());

}finally{

try {

br.close();

} catch (IOException e) {

System.out.println("关闭BufferedReader输入流异常:"+e.getMessage());

}

}

}else{

System.out.println("用户名和密码不能为空");

}

return flag;

}

}

D.1用户功能测试类:UserTest注册测试类,

package com.ma.test;

import com.ma.dao.UserDao;

import com.ma.dao.impl.UserDaoImple;

import com.ma.entity.UserEntity;

/**

* 注册测试类

* @author ma

*

*/

public class UserTest {

public static void main(String[] args) {

//向文件中写入数据

UserDao ud = new UserDaoImple();

UserEntity user1 = new UserEntity("李四", "123456");

UserEntity user2 = new UserEntity("张三", "abc123");

ud.registerUser(user1);

ud.registerUser(user2);

}

}

D.2用户功能测试类:UserTest2登录测试类

package com.ma.test;

import com.ma.dao.UserDao;

import com.ma.dao.impl.UserDaoImple;

import com.ma.entity.UserEntity;

/**

* 登录测试类

* @author ma

*

*/

public class UserTest2 {

public static void main(String[] args) {

//向文件中写入数据

UserDao ud = new UserDaoImple();

String name = "李四";

String password = "123456";

boolean islogin = ud.isLoginUser(name, password);

if(islogin){

System.out.println("登录成功!");

}else{

System.out.println("请输入正确的用户名和密码!");

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值