日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/10 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于IO流读取的 完成 用户登录,注册,修改,查看所有用户,删除功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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流读取的 完成 用户登录,注册,修改,查看所有用户,删除功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。