1、 操作系统课程实验报告操作系统课程实验报告 20132014 年度年度 第第 1 学期学期 院系:院系: 学号:学号: 姓名:姓名: 任课教师:任课教师: 成绩评定:成绩评定: 实验一题目:文件管理 完成日期:年 月 日 1、实验目的 了解文件管理的功能和任务,理解文件系统组成和特点,熟悉文件系统的访问和操作。 实验要求用高级语言编写和调试一个简单的模拟文件管理程序。 加深理解有关盘块的分配与 回收、目录管理等的具体实施策略。 2.、实验内容 模拟一个资源管理器进行文件操作,包括建立和删除目录、建立和删除文件等基本文件 操作。建立相应的数据结构(如:位示图等) ,模拟盘块管理。可以参照图6界面
2、进行设计。 3、算法设计 1)、定义主面板MainFrame,布局好各个控件,并初始化 /* * 往node节点下添加一个子节点obj; */ public void addChild(Object obj, DefaultMutableTreeNode node) if (obj != null if (node.getAllowsChildren() node.add(temp); if (!(String) obj).equals(“A:“) 用于初始用的; addChildren(cmd.listAll(String) obj), temp); /* * 在node节点下添加数组chi
3、ldren; */ public void addChildren(String children, DefaultMutableTreeNode node) if (children != null i children.length; i+) addChild(childreni, node); /* * 对树的节点进行预提取; */ public void addPrefetchChildren(String path, DefaultMutableTreeNode node) addChildren(cmd.listDirectory(path), node); /* * 对路径路径进
4、行连接;(已经获得了所有的整个路径,需要量转化) */ public String toFilePath(String str) / 先去掉头尾的; String pa = str.substring(1, str.length() - 1); String temp = pa.split(“, “); String path = “; for (int i = 1; i temp.length; i+) if (!path.endsWith(“) path += “; path += tempi; return path; public String toPFilePath(String s
5、tr) / 先去掉头尾的; String pa = str.substring(1, str.length() - 1); String temp = pa.split(“, “); String path = “; for (int i = 1; i temp.length - 1; i+) if (!path.endsWith(“) path += “; path += tempi; return path; public class ExpandListener implements TreeWillExpandListener /* * 树展开及收缩监听; */ private Mai
6、nFrame mainFrame = null; public ExpandListener(MainFrame mainFrame) this.mainFrame = mainFrame; public void treeWillExpand(TreeExpansionEvent event) / 对节点的路径进行转化 String path = toFilePath(event.getPath().toString(); TreePath treePath = event.getPath(); DefaultMutableTreeNode node = (DefaultMutableTreeNode) treePath .getLastPathComponent(); / System.out.println(“所展开节点的路径:“ + path)