基于IO版的用户登录注册实例(Java)

发布时间 - 2026-01-11 03:17:18    点击率:

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

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{

@Override
public 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;
}

@Override
public 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;
}
}
}
}

以上这篇基于IO版的用户登录注册实例(Java)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# java用户登录注册  # Java+mysql用户注册登录功能  # JAVA简单实现MD5注册登录加密实例代码  # Java简易登录注册小程序  # JavaWeb实现用户登录与注册功能  # JavaWeb实现用户登录与注册功能(服务器)  # JavaWeb实战之用Servlet+JDBC实现用户登录与注册  # Java实现多用户注册登录的幸运抽奖  # Java如何优雅的实现微信登录注册  # javaweb实现注册登录页面  # Java实现登录与注册页面  # 请输入  # 的是  # 用户登录  # 给大家  # 需要注意  # 放在  # 在这个  # 希望能  # 再来  # 可有可无  # 这篇  # 小编  # 多看  # 大家多多  # 欢迎进入  # 过程中  # 返回值  # 类中  # 注册成功  # 下次 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 公司网站制作价格怎么算,公司办个官网需要多少钱?  Laravel如何处理文件下载请求?(Response示例)  Laravel怎么清理缓存_Laravel optimize clear命令详解  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  nginx修改上传文件大小限制的方法  如何快速搭建高效WAP手机网站吸引移动用户?  Laravel Docker环境搭建教程_Laravel Sail使用指南  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  HTML 中动态设置元素 name 属性的正确语法详解  如何为不同团队 ID 动态生成多个非值班状态按钮  如何在景安云服务器上绑定域名并配置虚拟主机?  Android自定义listview布局实现上拉加载下拉刷新功能  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  Claude怎样写结构化提示词_Claude结构化提示词写法【教程】  如何在阿里云服务器自主搭建网站?  详解Android——蓝牙技术 带你实现终端间数据传输  jQuery validate插件功能与用法详解  Swift中swift中的switch 语句  java ZXing生成二维码及条码实例分享  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  如何基于PHP生成高效IDC网络公司建站源码?  如何实现建站之星域名转发设置?  七夕网站制作视频,七夕大促活动怎么报名?  如何在建站宝盒中设置产品搜索功能?  米侠浏览器网页背景异常怎么办 米侠显示修复  怎样使用JSON进行数据交换_它有什么限制  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  iOS正则表达式验证手机号、邮箱、身份证号等  Laravel如何发送系统通知?(Notification渠道示例)  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  实例解析angularjs的filter过滤器  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  音乐网站服务器如何优化API响应速度?  详解Android图表 MPAndroidChart折线图  Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  利用vue写todolist单页应用  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  Laravel怎么实现验证码(Captcha)功能  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  如何挑选高效建站主机与优质域名?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  android nfc常用标签读取总结