Java 模拟文件管理系统(仿DOS环境)

来源:互联网 发布:c语言的运算程序 编辑:程序博客网 时间:2024/05/18 22:52
这是我们操作系统的课程设计题目!此代码是COPY后经过修改添加而成!我的运行环境: JDK 1.6 , Jcreator 3.5 功能具体描述:(1)改变目录:改变当前工作目录,目录不存在时给出出错信息(2)显示目录:显示指定目录下或当前目录下所有文件和一级目录 (3)创建目录:在指定路径或当前路径下创建指定目录。重名时给出错信息。(4)删除目录:删除指定目录下所有文件和子目录。要删目录不空时,要给出提示是否要删除。(5)创建文件:创建指定名字的文件,只要创建表示文件的节点即可,内容及大小不考虑。(6)删除文件:删除指定文件,不存在时给出出错信息。(7)退出文件系统:exit。 (8) 帮助:help package filemanager; import java.io.*; import java.io.File; public class Command { private String currentPath="C:"; private final String cmd[]={ "cd", "dir", "md", "rd", "edit", "del","exit","help" }; private final int cmdInt[]={ 1, 2, 3, 4, 5, 6, 7,8 }; public static void main(String[] args) throws Exception{ Command cmd=new Command(); System.out.println("欢迎使用文件管理系统"); System.out.println("进入目录:cd <目录>"); System.out.println("显示目录:dir [<目录>]"); System.out.println("创建目录:md <目录>"); System.out.println("删除目录:rd <目录>"); System.out.println("创建文件:edit <文件名>"); System.out.println("删除文件:del <文件名>"); System.out.println("退出系统:exit"); System.out.println("帮助:help"); System.out.println("当前盘符"); cmd.ListDisks(); System.out.print(cmd.getPath()); // while (true) { byte[] b=new byte[50]; try { System.in.read(b); cmd.operate(new String(b).trim()); } catch (IOException e) { e.printStackTrace(); } } }// public String[] ListDisks() { File roots[]=File.listRoots(); String disks[]=new String[roots.length]; for (int i=0; i= 2) { mycmd=str[0]; path=str[1]; } for (int i=0; i"; }//获得当前路径 public String[] listAll(String path) { try { File f=new File(path); String[] fileName; if (f.isDirectory()) { fileName = f.list(); System.out.println("共有"+fileName.length+"文件"); for (int i = 0; i < fileName.length; i++) System.out.println(" "+fileName[i]); return fileName; } else if (f.isFile()) { System.out.println("这是一个文件"); return null; } else { System.out.println(path); return null; } } catch (Exception e) { return null; } }//显示当前目录下的文件及文件夹 public String[] listDirectory(String path){ File f=new File(path); String[] fileName; if (f.isDirectory()) { fileName = f.list(); //for (int i = 0; i < fileName.length; i++) //System.out.println("/"+fileName[i]); return fileName; } else { //System.out.println(path+"是文件"); return null; } }// public boolean isRightPath(String path) { File file=new File(path); if (file.isDirectory()||file.isFile()) return true; else return false; }//判断路径是否正确 public void cd(String path, String file) { String temp=path+"//"+file; if (!isRightPath(temp)) { System.out.println("没有找到这个文件夹"); } else { if (!file.equals("")) currentPath+="//"+file; } }//进行cd操作,进入下一目录 public void dir(String path) { if (path != null) listAll(path); }//进行dir操作,显示目录 public void md(String directory) { if (!currentPath.equals("")) { String temp=currentPath+"//"+directory; File newFile=new File(temp); if (!newFile.exists()) { try { if (newFile.isDirectory()==false) { newFile.mkdirs(); System.out.println("文件夹创建成功!"); } else { System.out.println("文件夹创建出错!"); } } catch (Exception e) { System.out.println("错误信息:"+e.getMessage()); } } else { System.out.println("文件夹已存在!"); } } }//进行md操作,创建目录 public void rd(String directory) { if (!currentPath.equals("")) { String temp=currentPath+"//"+directory; File file=new File(temp); if (file.exists()) { if (file.delete()) { System.out.println("文件夹删除成功!"); } else { System.out.println("文件夹删除操作出错!"); } } else { System.out.println("文件夹不存在"); } } }//进行rd操作,删除目录 public void edit(String file) { if (!currentPath.equals("")) { String temp=currentPath+"//"+file; File newFile=new File(temp); if (newFile.exists()) { System.out.println("文件已经存在!"); } else { try { newFile.createNewFile(); System.out.println("文件创建成功!"); } catch (Exception e) { System.out.println("文件创建失败:"+e.getMessage()); } } } }//进行edit操作,创建文件 public void del(String file) { if (!file.equals("")) { String temp=currentPath+"//"+file; File dfile=new File(temp); if (dfile.exists()) { if (dfile.delete()) { System.out.println("文件删除成功!"); } else { System.out.println("文件删除操作出错!"); } } else { System.out.println("文件不存在"); } } }//进行del操作,删除文件 public void exit() { System.out.println("退出系统"); System.exit(1); }//进行edit操作,退出系统 public void help(String path){ if(path!=null) { System.out.println("进入目录:cd <目录>"); System.out.println("显示目录:dir [<目录>]"); System.out.println("创建目录:md <目录>"); System.out.println("删除目录:rd <目录>"); System.out.println("创建文件:edit <文件名>"); System.out.println("删除文件:del <文件名>"); System.out.println("退出系统:exit"); System.out.println("帮助:help"); } }//进行help操作,显示帮助 }
原创粉丝点击