操作系统课程设计 为LINUX 设计一个简单的二级文件系统 java实现界面

  • 格式:doc
  • 大小:460.00 KB
  • 文档页数:20

仲恺农业工程学院 课 程 设 计

为LINUX 设计一个简单的二级文件系统 姓 名 菜鸟程序员

院(系) 计算机科学与工程学院

专业班级 学 号 指导教师 职 称 课程设计日期 2011年 6月2 日至7月1日 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

1题目分析 为Linux设计一个简单的二级文件系统,可以实现用户登录、列出文件目录、创建目录、创建文件、删除目录、删除文件、读取文件的功能。本次设计采用的开发语言是Java,通过Java来实现整体布局和实现相关的功能。 2算法设计 本次二级文件系统主要分为五大模块,分别是用户登录模块、新建目录模块、新建文件模块、删除文件模块和读取文件模块。用户登录成功后才可以进行其他模块的操作。 2.1 用户登录模块 用户登录模块要求用户输入账号与密码,当输入正确后进入主视图并能进行其他模块操作,否则提示账号密码错误并要求用户重新输入(默认的账号和密码都是“123”)。用户登录模块流程图如图1所示。

开始输入账号和密码

账号和密码都正确?是显示默认目录的所有文件与目录

结束提示输入错误

图1 用户登录模块流程图 2

2.2 新建目录模块 新建目录模块是根据用户鼠标右击时选择到的节点来确定节点的名字与路径,然后判断该节点是否可以拥有子节点,若拥有则根据用户输入的目录名称新建一个目录,否则提示不能新增目录。新建目录模块流程图如图2所示。

开始

被选择的节点是否可以拥有子节点?

结束提示不能创建目录

获得右击时选择到的节点的路径与名字

用户输入新建目录的名字

在本地硬盘新建一文件夹,在树型视图新增一节点

图2 新建目录流程图 3

2.3新建文件模块 新建文件模块是根据用户鼠标右击时选择到的节点来确定节点的名字与路径,然后判断该节点是否可以拥有子节点,若拥有则根据用户输入的文件名称新建一个文件,否则提示不能新增文件。新建文件模块流程图如图3所示。

开始

被选择的节点是否可以拥有子节点?

结束提示不能创建文件

获得右击时选择到的节点的路径与名字

用户输入新建文件的名字

在本地硬盘新建改文件,在树型视图新增一节点

图3 新建文件流程图 4

2.4 删除文件模块 删除文件模块是根据用户鼠标右击时选择到的节点来确定要删除节点的名字与路径,然后判断该节点是目录还是文件。若是文件则直接删除文件,若是目录则进入该目录再删除其全部文件。删除文件模块流程图如图4所示。

否开始

是删除该文件

获得右击时选择到的节点的路径与名字

进入该目录并遍历所有文件

在树状视图上删除该节点

该节点是一目录?

删除所有被遍历的文件

结束 图4 删除文件模块流程图 5

2.5 读取文件模块 读取文件模块是根据FileDialog类中事先设定的默认路径而打开一个选择对话框,然后根据用户选择的文件而获取文件的名字与路径。最后通过输入流而把读取到的数据显示在一个文本域中。读取文件流程图如图5所示。

开始新建一个空的文本区域

运用输入输出流读取文件的数据

生成FileDialog选择框

把读取到的数据显示到文本域中

结束

根据用户的选择而获得文件的路径和名字

图5 读取文件模块流程图 6

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); 7

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);