JAVA——仿Linux命令行文件管理系统命令的简单实现
生活随笔
收集整理的這篇文章主要介紹了
JAVA——仿Linux命令行文件管理系统命令的简单实现
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
源代碼?
package cn.edu.zstu.fms;import cn.edu.zstu.fms.context.SystemContext; import cn.edu.zstu.fms.service.IFileManagerService; import cn.edu.zstu.fms.service.impl.DiskFileManagerServiceImpl; import lombok.SneakyThrows;import java.io.File; import java.io.IOException; import java.util.Scanner;/*** @author ShenTuZhiGang* @version 1.0.0* @date 2020-12-16 23:46*/ public class FMSDemoCommand extends Thread{IFileManagerService iFileManagerService;public static void main(String[] args) {FMSDemoCommand fmsDemoCommand = new FMSDemoCommand();fmsDemoCommand.start();}@SneakyThrows@Overridepublic void run() {int choice = 0;String name, pass, pass1;Scanner input=new Scanner(System.in);//創(chuàng)建一個鍵盤掃描類對象Thread.sleep(2);while (true) {System.out.println("\t\t*****************************************\t");System.out.println("\t\t* 文 件 系 統(tǒng) \t*");System.out.println("\t\t* 1. 注冊新用戶 \t*");System.out.println("\t\t* 2. 登錄 \t*");System.out.println("\t\t* 3. 幫助 \t*");System.out.println("\t\t* 4. 退出 \t*");System.out.println("\t\t*****************************************\t");System.out.println("\t\t請選擇: ");choice = input.nextInt();input.nextLine();switch (choice) {/*選擇注冊*/case 1: {System.out.println("請輸入用戶名:");name = input.nextLine();System.out.println("請輸入密碼: ");pass = input.nextLine();System.out.println("請確認(rèn)密碼: ");pass1 = input.nextLine();while (!pass.equals(pass1)) {System.out.println("\t\t--兩次密碼不一致,請重試..");System.out.println("請輸入密碼: ");pass = input.nextLine();System.out.println("請確認(rèn)密碼: ");pass1 = input.nextLine();}if(register(name, pass) == 1){System.out.println("\t\t--注冊成功..");}else{System.out.println("\t\t--注冊失敗,請重試..");}Thread.sleep(2);}break;/*選擇登錄*/case 2: {System.out.println("請輸入用戶名:");name = input.nextLine();System.out.println("請輸入密碼:");pass = input.nextLine();if(login(name, pass) == 1) {System.out.println("\t\t--登錄成功..");SystemContext.user = name;operate();} else{System.out.println("\t\t--登錄失敗,請檢查用戶名和密碼..");Thread.sleep(2);}}break;case 3:{System.out.println("\t\t*********************************************************");System.out.println("\t\t* 幫助文檔 \t*");System.out.println("\t\t* 如何使用該系統(tǒng),輸入help時顯示所有命令的幫助文檔; \t*");System.out.println("\t\t* 輸入某個命令+?時顯示該條命令的使用說明 \t*");System.out.println("\t\t*********************************************************");}break;case 4: {System.out.println(" --退出文件系統(tǒng)..");Thread.sleep(3);System.exit(0);}break;/*其他選項*/default: break;}}}private void operate() {Scanner input=new Scanner(System.in);//創(chuàng)建一個鍵盤掃描類對象iFileManagerService = new DiskFileManagerServiceImpl();iFileManagerService.checkUserDirectory();command();while (input.hasNext()){String cmd = input.nextLine().trim().replaceAll("\\s+"," ");System.out.println(cmd);String[] args = cmd.split(" ");if(cmd == null || "".equals(cmd)){command();continue;}else if(cmd.startsWith("cd")){iFileManagerService.cd(args[1]);}else if(cmd.startsWith("ls")){continue;}else if(cmd.startsWith("cp")){continue;}else if(cmd.startsWith("mv")){continue;}else if(cmd.startsWith("mk")){continue;}else if(cmd.startsWith("rm")){continue;}else if(cmd.startsWith("mkdir")){continue;}else if(cmd.startsWith("rmdir")){continue;}else if(cmd.startsWith("cat")){continue;}else if(cmd.startsWith("head")){continue;}else if(cmd.startsWith("tail")){continue;}else if(cmd.startsWith("help")){continue;}else if(cmd.startsWith("exit")){break;}else {System.out.println(args[0] + ": command not found");}command();}}private int register(String name, String pass) {return 1;}private int login(String name, String pass) {return 1;}private void command(){System.out.print(SystemContext.user+"@"+System.getenv().get("COMPUTERNAME")+":"+iFileManagerService.getNowPath()+"# ");} }運行結(jié)果
參考文章
?
總結(jié)
以上是生活随笔為你收集整理的JAVA——仿Linux命令行文件管理系统命令的简单实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《编译原理》实验报告——基于YACC的T
- 下一篇: JAVA——读取文本文件的倒数第N行(模