摘 要
文件系统作为操作系统中最为重要的组成部分之一,它的主要功能就是对文件进行管理。文件系统位于操作系统的顶层。在操作系通的接口中文件系统扮演着十分重要的地位,他把我们使用计算机操作的抽象数据转换为能够在计算机物理设备上存放的具体数据,并且给我们提供访问和谐数据的结构和方法。本文主要介绍用java实现一个文件模拟的操作,主要功能有创建目录,删除目录,重命名目录,更改目录权限,显示目录结构,创建文件, 删除文件,重命名文件,显示文件内容, 更改文件内容,更改文件权限,退出。
现代操作系统中都配备文件系统,以适应系统资源管理和用户使用信息的需要。我们做的这个系统论述了如何模拟实现一个文件系统,主要完成对文件与目录进行一些基本的操作功能。给出了模拟文件系统的数据结构设计和整体框架。
完成了文件的整体功能,每个功能都涉及一定的算法,通过一个简单的文件系统的实现,理解文件系统的内部功能和内部实现;进一步理解操作系统;通过对实际问题的编程实现,获得实际应用和编程能力。
1.1 环境需求
硬件:台式或者笔记本电脑
软件:1. window 10系统。
2. IntelliJ IDEA 2020.2 x64。
2.2 功能模块设计
- 创建目录
- 删除目录
- 重命名目录
- 更改目录权限
- 显示目录结构
- 创建文件
- 删除文件
- 重命名文件
- 显示文件内容
- 更改文件内容
- 更改文件权限
- 退出。
3.3 功能需求
- 文件模拟系统运行后弹出操作界面,展示出功能选项,提示用户输入后进行相应功能的操作。
- 创建好数据结构,设置相应的目录类和文件类,同时设计好父子目录、子文件,可读可写等权限的成员变量。
- 创建目录时输入当前目录名,判断是否存在此目录,若不存在显示“目录不存在”,则返回,若存在,便判断目录是否有可写权限,若没有,则显示“权限不够”后返回,若有权限,则要求用户输入新的目录名。判断输入目录名是否有同名目录,有则显示“目录重名”并返回,无则创建目录实例,与父目录和兄弟目录建立连接(若有),最后显示“创建成功”。
- 删除目录时输入删除的目录名,判断目录是否为根目录,若是则显示“根目录不能删除”,若不是则判断此目录是否存在,若不存在,则显示“目录不存在”后返回,若存在在判断是否有可写权限,权限不够则提示后直接返回,有权限的话断开与此目录的所有连接并释放空间,同时要更新父目录和兄弟目录连接,最后显示“删除成功”。
- 重命名目录流程输入原目录名,判断目标目录是否为根目录,若是,则显示“根目录不能重命名”,若不是在进行目录是否存在的判断,不存在则提示后返回,存在则输入新目录名,再对新目录名判断是否重名,若重名则提示更改失败,不重名则修改对应目录的目录名,最后提示成功。
- 更改目录权限需要输入目录名,判断目标目录是否为根目录,若是提示失败并返回,不是在进行目录存在判断,存在目录时提示输入新的读写权限,最后显示“更改目录权限成功”。
- 更改文件内容需要先输入文件名,判断文件是否存在,若不存在则提示失败后返回,存在时进行文件是否有可写的判断,权限不够则返回,权限满足提示输入修改的文件内容,最后修改此文件的文件内容,并提示更改问加内容成功。
- 显示目录结构,设计思想如下:设置一个rearholder当作指针,指向root的第一个孩子目录,若没有直接结束,若有孩子,设置外层循环,输入rearholder目录名和它的所有文件名,再判断当前目录的孩子目录是否为空,若不为空,rearholder指向孩子目录,继续下一循环,若为空再判断当前目录是有有同级目录,若有同级目录,rearholder则指向同级目录,否则rearholder指向父目录,再用一层循环判断是否有同级目录,没有则指向父目录,循环出来如果有同级目录,则指向同级目录,如此往复,则可以得到整个目录文件结构。
- 创建文件时输入当前目录名,判断是否存在此目录,若不存在显示“目录不存在”,则返回,若存在,便判断目录是否有可写权限,若没有,则显示“权限不够”后返回,若有权限,则要求用户输入新的文件名。判断输入文件名在此目录下是否有同名文件,有则显示“文件重名”并返回,无则创建文件实例,与父目录和兄弟文件建立连接(若有),最后显示“创建成功”。
- 删除文件时输入当前的目录名,判断此目录是否存在,若不存在,则显示“目录不存在”后返回,若存在在判断是否有可写权限,权限不够则提示后直接返回,有权限的话断开与此文件的所有连接并释放空间,同时要更新父目录和兄弟文件连接,最后显示“删除成功”。
- 重命名文件流程输入当前的目录名,进行目录是否存在的判断,不存在则提示后返回,存在输入需要重命名的文件 ,判断是否有此文件,如有再输入新文件名,判断新文件名判断是否重名,若重名则提示更改失败,不重名则修改对应文件的文件名,最后提示成功。
- 显示文件内容时输入当前的目录名,判断此目录是否存在,若不存在,则显示“目录不存在”后返回,若存在在判断是否有可读权限,权限不够则提示后直接返回,有权限则输出文件里的内容。
- 关闭系统,输入12后退出系统。
测试用例和结果
1.初始化模块
1.初始化模块
2.创建目录folder1
3.创建文件再folder1里创建file1
4.重命名目录folder1为folder2
5.更改目录folder2权限
6.显示目录结构:创建三个目录和三个文件,镶嵌关系如图所示
7.删除目录root和folder2(root无法删除)
8.删除文件
9.重命名文件
10.显示文件内容
11.更改文件内容
12.更改文件权限
13.退出文章来源:https://www.toymoban.com/news/detail-770198.html
文章来源地址https://www.toymoban.com/news/detail-770198.html
到了这里,关于文件系统模拟实验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!