操作系统课程设计 为LINUX 设计一个简单的二级文件系统 java实现界面
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
仲恺农业工程学院
课程设计为LINUX 设计一个简单的二级文件系统
姓名菜鸟程序员
院(系)计算机科学与工程学院
专业班级
学号
指导教师
职称
课程设计日期 2011年 6月2 日至7月1日
目录
1题目分析 (1)
2算法设计 (1)
2.1用户登录模块 (1)
2.2新建目录模块 (2)
2.3新建文件模块 (3)
2.4删除文件模块 (4)
2.5读取文件模块 (5)
3 设计实现 (6)
3.1登录界面外观布局 (6)
3.2树状显示目录 (7)
3.3新建目录实现主要代码: (10)
3.4新建文件实现 (12)
3.5删除文件实现 (14)
3.6读取文件实现 (16)
4设计总结 (17)
5参考文献 (18)
1题目分析
为Linux设计一个简单的二级文件系统,可以实现用户登录、列出文件目录、创建目录、创建文件、删除目录、删除文件、读取文件的功能。本次设计采用的开发语言是Java,通过Java来实现整体布局和实现相关的功能。
2算法设计
本次二级文件系统主要分为五大模块,分别是用户登录模块、新建目录模块、新建文件模块、删除文件模块和读取文件模块。用户登录成功后才可以进行其他模块的操作。
2.1 用户登录模块
用户登录模块要求用户输入账号与密码,当输入正确后进入主视图并能进行其他模块操作,否则提示账号密码错误并要求用户重新输入(默认的账号和密码都是“123”)。用户登录模块流程图如图1所示。
图1 用户登录模块流程图
新建目录模块是根据用户鼠标右击时选择到的节点来确定节点的名字与路径,然后判断该节点是否可以拥有子节点,若拥有则根据用户输入的目录名称新建一个目录,否则提示不能新增目录。新建目录模块流程图如图2所示。
图2 新建目录流程图
新建文件模块是根据用户鼠标右击时选择到的节点来确定节点的名字与路径,然后判断该节点是否可以拥有子节点,若拥有则根据用户输入的文件名称新建一个文件,否则提示不能新增文件。新建文件模块流程图如图3所示。
图3 新建文件流程图
删除文件模块是根据用户鼠标右击时选择到的节点来确定要删除节点的名字与路径,然后判断该节点是目录还是文件。若是文件则直接删除文件,若是目录则进入该目录再删除其全部文件。删除文件模块流程图如图4所示。
图4 删除文件模块流程图
读取文件模块是根据FileDialog类中事先设定的默认路径而打开一个选择对话框,然后根据用户选择的文件而获取文件的名字与路径。最后通过输入流而把读取到的数据显示在一个文本域中。读取文件流程图如图5所示。
图5 读取文件模块流程图
3 设计实现
3.1登录界面外观布局
登录界面主要代码:
JLabel labelID=null,labelPassword=null,title=null;
JTextField id,password;
JButton conform=new JButton("确认");
JButton cancle=new JButton("取消");
LoginWindow(){
init();
this.setTitle("登录界面");
this.setBounds(400,200,550,400);
this.setResizable(false);
this.setVisible(true);
}
void init(){
this.setLayout(null);
labelID=new JLabel("请输入账号:");
labelID.setBounds(50, 100, 100, 30);
this.add(labelID);
labelPassword=new JLabel("请输入密码:");
labelPassword.setBounds(50, 200, 100, 30);
this.add(labelPassword);
id=new JTextField(20);
id.setBounds(170, 100, 300,30);
this.add(id);
password=new JTextField(20);
password.setBounds(170, 200, 300, 30);
this.add(password);
title=new JLabel("登录界面");
conform.setBounds(100, 280, 80, 30);
cancle.setBounds(250, 280, 80, 30);
conform.addActionListener(new LoginListener());
cancle.addActionListener(new LoginListener());
this.add(conform);
this.add(cancle);
}
登录界面如图6所示
图6 登录界面
3.2树状显示目录
登录成功后显示默认路径的树状文件目录的主要代码:
void getRoot(DefaultMutableTreeNode superroot, File f) { File files[] = f.listFiles();
for (int i = 0; i < files.length; i++) {
DefaultMutableTreeNode de = new DefaultMutableTreeNode(files[i].getName());
if (files[i].isDirectory()) {
de.setAllowsChildren(true);
}
else {
de.setAllowsChildren(false);