您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 操作系统文件管理实验
1课程实验报告课程名称操作系统原理班级14计本实验日期2016/5/23姓名周扬扬学号33实验成绩实验名称文件管理实验目的及要求通过编写程序模拟实现文件管理的各种常用功能,加深对操作系统文件管理方案的理解。实验环境Windows7或以上版本+VS2010或以上版本实验内容设计一个简单的文件系统。要求在一个或多个函数里实现下列功能:Create创建文件Delete删除文件Open打开文件Close关闭文件Read读文件Write写文件提示:函数名可自由命名,但需做到见名知意,实现过程中需调用系统函数。实验完成后请现场演示。实验步骤1、引用文件中的输入输出流(usingSystem.IO)2、获取电脑文件,分别用treeview和listview控件显示在form上3、写一个创建文件夹的create方法4、在打开的按钮下编写打开文件或程序的命令5、在删除控件下编写删除命令6、在退出的控件下编写退出的命令2描述7、用toolstrip控件的label现实文件的位置8、用status控件显示文件的状态调试过程及实验结果总结通过该实验学会了获取电脑文件资源管理器,实现对文件的简单处理。附录usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;usingSystem.IO;namespacedemoFile{publicpartialclassForm1:Form{privatestringcurrentPath=;//当前路径privatestring[]sources=newstring[100];//复制文件的源路径publicForm1(){InitializeComponent();3Tree();}//窗体加载时发生privatevoidForm1_Load(objectsender,EventArgse){foreach(TreeNodenodeintreeView1.Nodes){show1(node);}}//treeview显示图标的方法publicvoidTree(){treeView1.Nodes.Clear();currentPath=;Label1.Text=currentPath;DriveInfo[]drivers=DriveInfo.GetDrives();foreach(DriveInfodriverindrivers){TreeNodetn=newTreeNode();tn.Text=driver.Name;tn.Tag=driver.Name;tn.ImageIndex=1;treeView1.Nodes.Add(tn);Label1.Text=tn.FullPath;}}//更新结点(列出当前目录下的子目录)privatevoidshow1(TreeNodenode){try{node.Nodes.Clear();DirectoryInfodir=newDirectoryInfo(node.FullPath);DirectoryInfo[]dirs=dir.GetDirectories();foreach(DirectoryInfodindirs){TreeNodetn=newTreeNode();tn.Text=d.Name;tn.ImageIndex=2;tn.Tag=d.FullName;node.Nodes.Add(tn);Label1.Text=tn.FullPath;4}}catch{}}privatevoidshow2(stringnewpath){try{DirectoryInfocurrentDir=newDirectoryInfo(newpath);DirectoryInfo[]dirs=currentDir.GetDirectories();//获取目录FileInfo[]files=currentDir.GetFiles();//获取文件listView1.Items.Clear();//列出文件夹foreach(DirectoryInfodirindirs){ListViewItemdirItem=listView1.Items.Add(dir.Name,2);dirItem.Name=dir.FullName;dirItem.SubItems.Add();dirItem.SubItems.Add(文件夹);dirItem.SubItems.Add(dir.LastWriteTimeUtc.ToString());}//列出文件foreach(FileInfofileinfiles){ListViewItemfileItem=listView1.Items.Add(file.Name);if(file.Extension==.exe||file.Extension==)//程序文件或无扩展名{fileItem.Text=file.Name;fileItem.ImageIndex=3;listView1.Items.Add(fileItem);}else//其它文件{fileItem.Text=file.Name;fileItem.ImageIndex=4;listView1.Items.Add(fileItem);}fileItem.Name=file.FullName;}Label1.Text=newpath;Label2.Text=listView1.Items.Count+个对象;5}catch{}}//显示右边框publicvoidtreeView1_AfterSelect(objectsender,TreeViewEventArgse){if(e.Node==null)return;stringpath=(string)e.Node.FullPath;//获取或设置包含树节点有关数据对象listView1.Items.Clear();if(path==null)return;if(path!=){try{show1(e.Node);show2(path);}catch{}}}//新建文件夹privatevoidcreate(){try{stringpath=Path.Combine(currentPath,新建文件夹);inti=1;stringnewPath=path;while(Directory.Exists(newPath)){newPath=path+i;i++;}Directory.CreateDirectory(newPath);listView1.Items.Add(newPath,新建文件夹+(i-1==0?:(i-1).ToString()),2);}catch(Exceptionex){MessageBox.Show(ex.Message,Error,MessageBoxButtons.OK,MessageBoxIcon.Error);}}6privatevoid文件夹ToolStripMenuItem_Click(objectsender,EventArgse){create();}privatevoid退出ToolStripMenuItem_Click(objectsender,EventArgse){this.Close();}privatevoid打开ToolStripMenuItem_Click(objectsender,EventArgse){if(listView1.SelectedItems.Count0){stringnewPath=listView1.SelectedItems[0].Name;try{//判断是目录还是文件if(Directory.Exists(newPath)){show2(newPath);}elseSystem.Diagnostics.Process.Start(newPath);//打开文件}catch(Exceptionex){MessageBox.Show(ex.Message,Error,MessageBoxButtons.OK,MessageBoxIcon.Error);}}}privatevoid删除ToolStripMenuItem_Click(objectsender,EventArgse){if(listView1.SelectedItems.Count==0)return;DialogResultresult=MessageBox.Show(确定要删除吗?,提示,MessageBoxButtons.YesNo,MessageBoxIcon.Information);if(result==DialogResult.No)return;try{foreach(ListViewItemiteminlistView1.SelectedItems)7{stringpath=item.Name;if(File.Exists(path))//文件File.Delete(path);elseif(Directory.Exists(path))//目录Directory.Delete(path,true);listView1.Items.Remove(item);}}catch(Exceptionex){MessageBox.Show(ex.Message,Error,MessageBoxButtons.OK,MessageBoxIcon.Error);}}}}
本文标题:操作系统文件管理实验
链接地址:https://www.777doc.com/doc-1903748 .html