操作系统课程的设计文件管理二级文件系统.doc
文本预览下载声明
本文档分别包含linux和windows两套程序
目 录
一、课程设计的目的
二、课程设计的内容及要求
内容
要求
三、实现原理
四、关键算法实现流程图
流程图
关键算法
五、软件运行环境及限制
六.结果输出及分析
七.心得体会
八.参考文献
一.课程设计的目的
本课程设计是学习完《计算机操作系统》课程后,进行的一次全面的综合训练,加深操作系统基础理论和的理解,加强动手能力。1、可以实现下列几条命令(至少4条)。
Login 用户登录
Dir 列文件目录
Create 创建文件
Delete 删除文件
Open 打开文件
Close 关闭文件
Read 读文件
Write 写文件
2、列目录时要列出文件名、物理地址、保护码和文件长度。
3、源文件可以进行读写保护。
从课程设计的目的出发,通过设计工作的各个环节,达到以下教学要求:设计完成后老师不能对自己提供的进行讲解的同学,视为抄袭;要求写出一份详细的报告。
关键算法:
新建目录功能的实现
private class MenuAction2 implements ActionListener {
public void actionPerformed(ActionEvent arg0) {
try {
String Name=JOptionPane.showInputDialog(创建目录名称:);
if (!Name.equals()) {
// 得到树状视图的被选择节点路径
TreePath path = tree.getSelectionPath();
// 得到树状视图的被选择节点
MutableTreeNode node = (MutableTreeNode) path
.getLastPathComponent();
// 得到树状视图的模型类变量
DefaultTreeModel model = (DefaultTreeModel) tree.getModel();
// 新建子节点,标题为新目录名称
MutableTreeNode newNode = new DefaultMutableTreeNode(Name);
// 先展开树状视图,触发展开树状视图事件,给当前节点追加下级节点
tree.fireTreeExpanded(path);
// 如果当前节点允许存在下级节点,则在树状视图的模型类变量中插入新子节点,位置是第一个,否则显示消息并退出该函数
if (node.getAllowsChildren())
model.insertNodeInto(newNode, node, 0);
else {
JOptionPane.showMessageDialog(null, 不能给文件追加下级目录!);
return;
}
// 得到被选择节点对应文件的完整路径信息
String fullPath = ;
for (Object obj : path.getPath()) {
String str = obj.toString(); // 处理盘符根目录问题
if (str.endsWith(\\))
str = str.substring(0, str.length() - 1);
if (fullPath.equals())
fullPath += str;
else
fullPath += \\ + str;
}
//System.out.println(fullpath=+fullPath);
// 生成被选择节点对应的文件类变量
File parentDir = new File(fullPath);
// 如果是目录,则新建相应的子目录
if (parentDir.isDirectory()) {
File currentFile = new File(fullPath + \\ + Name);
currentFile.mkdir(
显示全部