Controller


import java.util.Scanner;/*** 视图层* 完成用户登录,注册,修改,删除功能*/
public class Controller {/*** 字符输入*/private static Scanner scanner = new Scanner(System.in);/*** 业务处理层*/private static Service service = new Service();public static void main(String[] args) {boolean flag = true;while (flag) {try {System.out.println("---1.登录--2.注册---3.修改---4.删除---5.查看用户信息---6.退出");int number = scanner.nextInt();switch (number) {//1.登录case 1:service.longUser();break;//2.注册case 2:service.newUser();break;//3.修改case 3:service.updateUser();break;//4.删除case 4:service.deleteUser();break;//5.查看用户信息case 5:service.forEachUser();break;//6.退出case 6:flag = false;break;default:System.out.println("输入错误");break;}} catch (Exception e) {scanner = new Scanner(System.in);System.out.println("输入错误");}}System.out.println("----谢谢使用再见!----");}}

Service


import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
import java.util.Scanner;class Service {private static final File file = new File("operate/src/operate418/silence/username.txt");private static final Properties properties = new Properties();private static final Scanner scanner = new Scanner(System.in);/*** 注册*/void newUser() throws IOException {listUser();//读取文件里的用户信息System.out.println("-----注册用户----");System.out.println("请输入用户名:");String username = scanner.nextLine();//这里判断是否有重复数据if (properties.containsKey(username)) {System.out.println("用户名:" + username + " 重复");return;}//输入两次密码,并判断是否一致String password = ifPassword();if (password == null) {System.out.println("两次输入的密码不一致");return;}//如果;一直,存储到数据文件properties.put(username, password);properties.store(new FileWriter(file), null);System.out.println("---注册成功----");}/*** 登录*/void longUser() {//获取用户信息listUser();User user = getUser();if (properties.containsKey(user.getUsername())) {String password = (String) properties.get(user.getUsername());if (user.getPassword().equals(password)) {System.out.println("----登录成功----");return;}}System.out.println("----用户名或密码错误,请重新输入----");}/*** 修改*/void updateUser() throws IOException {listUser();System.out.println("请输入用户名:");String username = scanner.nextLine();if (!properties.containsKey(username)) {System.out.println("----该用户不存在----");return;}//输入两次密码,并判断是否一致String password = ifPassword();if (password == null) {System.out.println("两次输入的密码不一致");return;}//判断密码是否正确,密码正确就存储if (!properties.get(username).equals(password)) {System.out.println("密码不正确,修改失败");return;}//密码正确,取新密码System.out.println("请输入新密码:");String newPassword = scanner.nextLine();//存储数据到文件,采用覆盖式存储properties.put(username, newPassword);properties.store(new FileWriter(file), null);}/*** 获取用户名和密码** @return User*/private static User getUser() {System.out.println("请输入用户名:");String username = scanner.nextLine();System.out.println("请输入密码:");String password = scanner.nextLine();return new User(username, password);}/*** @return 两次密码一致返回密码 不一致返回null*/private static String ifPassword() {System.out.println(" 请输入密码:");String password = scanner.nextLine();System.out.println("请确认密码:");String newPassword = scanner.nextLine();//这里判断两次密码是否一致if (password.equals(newPassword)) {return password;}return null;}/*** 遍历用户*/void forEachUser() {listUser();properties.forEach((key, value) -> System.out.println("用户名:" + key + "     密码:" + value));System.out.println("--------当前共有" + properties.size() + "个用户--------");}/*** 删除*/void deleteUser() throws IOException {//获取user对象listUser();User user = getUser();//判断是否存在这个用户if (properties.containsKey(user.getUsername())) {//如果用户名存在,判断密码是否正确String password = (String) properties.get(user.getUsername());if (password.equals(user.getPassword())) {//用户名和密码都正确 存储数据到文件,采用覆盖式存储properties.remove(user.getUsername());System.out.println(properties);properties.store(new FileWriter(file), null);System.out.println("删除用户:" + user.getUsername() + "成功");} else {System.out.println("用户名或密码错误");}} else {System.out.println("用户名或密码错误");}}/*** 从配置文件读取用户信息*/private void listUser() {//如果没有这个文件,不读取if (file.exists() && file.canRead()) {try (FileReader reader = new FileReader(file)) {properties.load(reader);return;} catch (IOException e) {e.printStackTrace();}}System.out.println("配置文件不存在,或不是可读的文件,请检查文件路径,程序退出!!!");System.exit(1);}
}

User


public class User {private String username;private String password;@Overridepublic String toString() {return "用户名:" + username + "  密码:" + password;}public User() {}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) {this.username = username;this.password = password;}
}

基于IO流读取的 完成 用户登录,注册,修改,查看所有用户,删除功能相关推荐

  1. 小编程(三):用户登录注册界面开发及用户信息管理案例代码详解

    用户登录注册界面开发及用户信息管理案例详解 刚开始接触Android编程,这算是我写的第一个简单工程,主要功能有:用户登录.注册.注销.修改密码.记住密码共5个基本操作,其内容涉及到以下几点: 1:B ...

  2. Android用户登录注册界面

    用户登录注册界面开发及用户信息管理案例详解 刚开始接触Android编程,这算是我写的第一个简单工程,主要功能有:用户登录.注册.注销.修改密码.记住密码共5个基本操作,其内容涉及到以下几点: 1:B ...

  3. java实现登录注册案例_Java基于IO版实现用户登录注册的案例

    下面小编就为大家带来一篇基于IO版的用户登录注册实例(Java).小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 今天学的是用户登录注册功能. 4个包: itcast.c ...

  4. IO流读取文件用户信息根据年龄排序后,写到文件

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java ...

  5. 基于Servlet+JSP+JavaBean开发模式的用户登录注册

    基于Servlet+JSP+JavaBean开发模式的用户登录注册 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复 ...

  6. java wed登录面 代码_JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)...

    下面通过通过图文并茂的方式给大家介绍JavaWeb实现用户登录注册功能实例代码,一起看看吧. 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...

  7. 【转载】 javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册 - 孤傲苍狼 - 博 http://www.cnblogs.com/xdp-gacl/

    javaweb学习总结(二十二)--基于Servlet+JSP+JavaBean开发模式的用户登录注册 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+Ja ...

  8. javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  9. javaweb学习总结(二十二):基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

最新文章

  1. 在macos上基于python2.7安装PyQt5
  2. Android -------GestureDetector类的用法
  3. hihocoder 1343 : Stable Members【拓扑排序】
  4. 视频图像处理平台对比_对比传统智能结算,戈子视觉结算有了质的改变
  5. AAAI 2020 | 首个使用 NAS 设计的 GCN,达到动作识别SOTA,代码将开源
  6. 100m光纤测速多少正常_光纤收发器的分类知识详解
  7. python中列表的查_每日一记----python中的列表【查询和插入】
  8. python forward(10)什么意思-Python turtle.forward方法代码示例
  9. python代码实现生成二维码
  10. selenium 网址
  11. 高等数学复习之空间解析几何
  12. imx8qm xen 虚拟网卡
  13. 2021年3月30日百度笔试题
  14. 【2016】【论文笔记】差频可调谐THz技术——
  15. python分数约分_Python基础知识
  16. Ubuntu下的MySQL数据库
  17. S7-200SMART PLC基础知识汇总
  18. Word2019很卡的解决办法
  19. 关于oracle账户被锁定的解决办法
  20. Go语言解决go get失败的问题

热门文章

  1. exception日志 php_PHP 错误与异常的日志记录
  2. windows7无人值守应答文件.rar_数智化赋能人力共享运营,人力管理走向“无人值守”...
  3. 网页底部的版权信息_Shopify底部的版权信息(Powered by Shopify )如何删除
  4. asp.net web开发步骤_WEB开发流程
  5. ISDN与PSTN的区别是什么?
  6. hyper服务器虚拟网卡和实际网卡,Hyper-V 3 虚拟网卡带宽应用限制
  7. cobol to java_cobol to java
  8. 【转】对ASP.NET程序员非常有用的85个工具
  9. 浅谈Mysql 表设计规范
  10. sap 订单状态修改时间_SAP中对于获取订单的状态