版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
..操作系统实验报告实验名称:文件管理专业班级:网络工程1301学号:XX:2015年6月16日实验一文件管理一、实验目的文件管理是操作系统的一个非常重要的组成局部。学生应独立用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质容和执行过程有比拟深入的了解,掌握它们的实施方法,加深理解课堂上讲授过的知识。二、预备知识VS2010的使用C#的学习文件主目录与子目录的理解三、实验容与步骤用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。要求设计一个10个用户的文件系统,每次用户可保存10个文件,一次运行用户可以翻开5个文件。系统能够检查打入命令的正确性,出错时能显示出错原因。对文件必须设置保护措施,例如只能执行,允许读等。在每次翻开文件时,根据本次翻开的要求,在此设置保护级别,即有二级保护。文件的操作至少有Create、delete、open、close、read、write等命令。所编写的程序应采用二级文件目录,即设置主文件目录和用户文件目录。前者应包含文件主及它们的目录区指针;后者应给出每个文件占有的文件目录,即文件名,保护码,文件长度以及它们存放的位置等。另外为翻开文件设置运行文件目录〔AFD〕,在文件翻开时应填入翻开文件号,本次翻开保护码和读写指针等。 程序流程图: 逻辑设计:使用线性数组表表示MFD,泛型数组表示UFD,每个元素包括用户ID、保存的文件数、再使用线性表表示文件信息,每个元素包括文件名,文件属性〔保护码〕,文件的状态等信息。 物理设计://主目录privateFileUser[]mfd;//当前用户privateFileUsercurrentuser;///<summary>///文件///</summary>publicclassFileObject{publicstringfilename;publicintsize=20;publicintread=0;publicintwrite=0;publicstringauthor;}///<summary>///文件系统用户///</summary>publicclassFileUser{publicstringusername;publicList<FileObject>ufd=newList<FileObject>();publicintfilecount=0;} 步骤详述: 1、主目录及用户目录机构显示: 2、当前操作用户登录: 3、文件管理系统菜单: 4、create命令: 5、open命令: 6、close命令: 7、delete命令: 8、read命令 9、write命令 10、exit命令四、实验总结通过这次的课程设计使我认识到要将操作系统这门计算机专业的课学好不仅仅是要把书上的根本知识学好而且还要不断进展实践,将所学的跟实践操作结合起来才能更好地稳固所学,才能提高自己实践能力.通过这次的设计使我认识到只停留在外表理解问题是很难使问题得到很好的解决的,实践能力与理论知识同样重要。可以说此课程设计的理论难度并不大,但是假设要深入开掘其中的东西,并且实际去编程实现,就遇到了相当大的难度。因为与之涉及的很多方面并没有学过,需要自己去自学和实践检验。五、程序清单usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespacefilemanagesystem{classProgram{staticvoidMain(string[]args){//初始化用户自模拟文件系统ExplorerInUserexplorer=newExplorerInUser();}}///<summary>///文件管理系统for用户自模拟///</summary>publicclassExplorerInUser{//命令列表privatestring[]mand={"create","open","close","delete","read","write","exit"};//主目录privateFileUser[]mfd;//当前用户privateFileUsercurrentuser;///<summary>///构造函数///</summary>publicExplorerInUser(){INI();}///<summary>///初始化系统///</summary>privatevoidINI(){if(currentuser==null){//主目录实现IniUserList();}//系那是菜单InilizeMenu();boolisinput=false;//输入正确的命令while(!isinput){stringinput=Console.ReadLine();isinput=mandGroup(input);}}#region主目录///<summary>///获取用户个数///</summary>///<returns></returns>privateintGetUserCount(){stringinput=Console.ReadLine();try{intuser_size=Convert.ToInt32(input);returnuser_size;}catch(Exceptione){Console.WriteLine(e.Message);return0;}}///<summary>///生成用户及用户管理文件///</summary>privatevoidIniUserList(){intuser_size=GetUserCount();mfd=newFileUser[user_size];for(inti=0;i<user_size;i++){mfd[i]=newFileUser();mfd[i].username="mfd_user_"+i;mfd[i].filecount=3;Console.WriteLine("mfd:"+mfd[i].username+","+mfd[i].filecount);for(intj=0;j<3;j++){FileObjectfile=newFileObject();file.author=mfd[i].username;Console.WriteLine("--ufd:"+file.filename+","+file.size+","+file.author);file.filename="file"+j;mfd[i].ufd.Add(file);}}IniLogin();}///<summary>///用户登录///</summary>privatevoidIniLogin(){Console.WriteLine("请输入用户名:");boolissuccess=false;while(!issuccess){stringusername=Console.ReadLine();for(inti=0;i<mfd.Length;i++){if(mfd[i].username.Equals(username)){issuccess=true;currentuser=mfd[i];Console.WriteLine("当前用户:"+username);break;}}if(!issuccess){Console.WriteLine("请重新输入输入用户名:");}}}#endregion#region菜单///<summary>///初始化菜单///</summary>privatevoidInilizeMenu(){Console.WriteLine("欢送进入文件管理系统!");Console.WriteLine("------create-------");Console.WriteLine("------open---------");Console.WriteLine("------close--------");Console.WriteLine("------delete-------");Console.WriteLine("------read---------");Console.WriteLine("------write--------");Console.WriteLine("------exit---------");Console.WriteLine("请输入操作命令:");}///<summary>///功能分组判断///</summary>///<paramname="mand"></param>///<returns></returns>privateboolmandGroup(stringmand){boolisexit=true;switch(mand){case"create":create();break;case"open":open();break;case"close":close();break;case"delete":delete();break;case"read":read();break;case"write":write();break;case"exit":exit();returntrue;break;default:isexit=false;break;}if(isexit){INI();}else{Console.WriteLine("请重新输入操作命令:");}returnisexit;}#endregion#region操作命令方法///<summary>///创立新的文件///</summary>privatevoidcreate(){Console.WriteLine("请输入新件名:");stringfilename=Console.ReadLine();currentuser.filecount++;FileObjectfile=newFileObject();file.filename=filename;file.author=currentuser.username;currentuser.ufd.Add(file);Console.WriteLine("成功创立文件!");}///<summary>///翻开指定的文件///</summary>privatevoidopen(){Console.WriteLine("请输入文件名:");stringfilename=Console.ReadLine();for(inti=0;i<currentuser.ufd.Count;i++){if(currentuser.ufd[i].filename.Equals(filename)){Console.WriteLine("成功翻开文件!");Console.WriteLine("ID:"+i);Console.WriteLine("FileName:"+filename);Console.WriteLine("Size:"+currentuser.ufd[i].size);Console.WriteLine("Autor:"+currentuser.ufd[i].author);return;}}Console.WriteLine("文件不存在!");}///<summary>///关闭所有翻开的文件///</summary>privatevoidclose(){Console.WriteLine("已关闭文件");}///<summary>///删除文件///</summary>privatevoiddelete(){Console.WriteLine("请输入文件名:");stringfilename=Console.ReadLine();for(inti=0;i<currentuser.ufd.Count;i++){if(currentuser.ufd[i].filename.Equals(filename)){currentuser.ufd.RemoveAt(i);Console.WriteLine("成功删除文件!");return;}}Console.WriteLine("文件不存在!");}///<summary>///读取文件///</summary>privatevoidread(){Console.WriteLine("请输入文件名:");stringfilename=Console.ReadLine();for(inti=0;i<currentuser.ufd.Count;i++){if(currentuser.ufd[i].filename.Equals(filename)){Console.WriteLine("已读取文件!");return;}}Console.WriteLine("文件不存在!");}///<summary>///写入文件///</summary>privatevoidwrite(){Console.WriteLine("请输入文件名:");s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服务人员仪容仪表守则
- 花生根结线虫病防治技术规范
- 颈椎牵引适应症禁忌症指南
- 心血管风险评估执行流程
- 茶叶初制加工品质控制标准
- 全厂消防疏散实战演练实施方案
- 党政领导安全生产履职规范
- 科学坐月子餐制作标准手册
- 秸秆粉碎还田作业质量标准
- 中医正骨复位技术标准
- 2026年25届成飞校招笔试题及答案
- 2026北京市中考历史知识点背诵清单练习含答案
- 2025年江苏省扬州市初二学业水平地理生物会考真题试卷(含答案)
- 2026年中考道德与法治一轮复习:七八九年级6册教材关键词+一句话核心考点
- 2026年上海市浦东新区社区工作者招聘考试参考试题及答案解析
- 房屋巡查工作制度
- 2026年春贵州人民版(2024)小学综合实践活动四年级下册(全册)教案(附目录)
- 气管切开患者全程护理指南
- 中国肺大疱诊断与治疗指南(2025年版)
- 中兴otn施工方案(3篇)
- 2026年科学与技术教育考研复试高频面试题包含详细解答
评论
0/150
提交评论