好久没写博客了,今天有空写写,讲讲之前的操作系统课程设计,模拟的磁盘文件管理系统,说到模拟,这里做的是用一个二进制文件来模拟磁盘,里面分磁盘块,这里我简单梳理题目,方便大家理解使用。(源代码下载

课程设计题目要求

总的需求:目录,文件的CRUD,要求树形结构,操作过程要模拟磁盘的存储过程;

1界面需求:

<1>要求有右键菜单

(1)系统的右键菜单:添加文件,添加目录

(2)文件的右键菜单:打开文件,删除文件,查看属性,修改属性(只读,可读写)

(3)目录的右键菜单:删除,打开目录

 

<2>系统要求:

(1)文件和目录的显示与操作和窗口类似。

(2)可以查看磁盘使用状况:磁盘块的使用情况(使用,未使用)

(3)界面友好:添加文件和目录时要有提示信息,

如文件名长度不超过3,不能包含“'$','。' ,'/'”字符

  2后台需求:

<1>用一个文件模拟磁盘,磁盘分128块,每块64字节大小。

<2>用FAT表维护磁盘的储存状况:哪块磁盘块使用了,哪块磁盘块为空。

<3>文件内容的存储和取出要和真实磁盘操作一致,即:设置缓冲区,一次

   存一块磁盘块,存满再申请下一块磁盘块。读取也是类似,取出文件内

   容时是一块一块磁盘块取的。

<4>构造目录和文件的树形结构,每个目录下只能有8个子项(文件,目录)

系统的概要设计

1前端模块
<1>系统模块

显示磁盘使用情况按钮,系统关闭按钮,原始根目录下的八个子项

双击磁盘使用按钮:弹出128块磁盘块使用图,使用比例图

双击关闭按钮:保存当前操作,退出程序

右键系统非文件,目录区域可弹出新建文件,新建目录

<2>文件模块

右键文件可弹出菜单:打开文件,修改属性,删除文件

打开文件:双击文件,点击右键菜单打开文件

编辑文件:和窗口类似,编辑完自动保存。

<3>目录模块

右键目录可弹出菜单:打开目录,删除目录

 打开目录:双击或者右键菜单

 目录内容:和窗口类似,显示目录下的所有子项(文件,目录)

 

2后台模块:
<1>文件模块:

文件格式:这里只是TXT

存储位置:初始化用一个文件模拟磁盘,利用其128块,每块64B,文件分块存储

FAT表:初始化:利用模拟磁盘的那个文件,前面2块128B是FAT表的内容

用大小为128的数组模拟128块,记录每个文件的分块。

空余:0,文件尾:255,正常:记录下一个文件块

 

<2>目录模块

限制:一个目录下面只能有8个子目录/ 8个子文件

要求:树形结构:利用父节点和附属资源


<3>磁盘模块:

根据文件,目录的分块头编号检索FAT表,检索空内存,从而模拟申请内存,利用对象流写入,用64B的数组模拟一块磁盘位,要先写满数组模拟缓冲,再写入磁盘文件

 

主程序的流程图

                        基于javafx的模拟磁盘文件系统


各程序模块之间的层次关系

                            基于javafx的模拟磁盘文件系统

用户使用说明

 哔哔了这么多,估计没卵用哈哈,还是看看怎么使用吧 
       我的资源文件中包括源代码(编辑器用的是想法)和程序的JAR包

使用环境:本程序是JAR包,所以需要的Java的的环境支撑,需要安装的Java的中,并设置双击的罐子即可打开运行本程序。

                

操作说明:

<1>用户第一次使用时,系统中是没有数据的,需要用户自己添加文件。

<2>操作类似的窗户,右键菜单可以新建文件,目录等。

<3>鼠标移到文件,目录上方时,右键可以弹出对应的菜单

<4>主界面上有一个关闭按钮,由于程序是全屏显示,如果用户要退出程序需要双击按钮,非正常退出数据会丢失。

<5>双击可编辑的文件,目录即可打开,进行编辑。

<6>用户下次打开程序时会自动读取上次保存的系统数据。

测试与运行结果

 好了我不装逼了,这篇博客是我的课程设计报告基于javafx的模拟磁盘文件系统,之前做这个
也花费了一个星期时间,想想不浪费自己的成果,让有需要的
同学可以酌情看看我写的烂代码,各取所需,下面是运行测试图

                                                                          主界面


                          基于javafx的模拟磁盘文件系统
                                                                                  新建文件
             基于javafx的模拟磁盘文件系统
             基于javafx的模拟磁盘文件系统
 

                                                                           删除文件


                              基于javafx的模拟磁盘文件系统

                                                                              打开文件

                               基于javafx的模拟磁盘文件系统

                                                                            修改属性

                                 基于javafx的模拟磁盘文件系统

                                   基于javafx的模拟磁盘文件系统

                                      基于javafx的模拟磁盘文件系统

                                                                               打开目录

                            基于javafx的模拟磁盘文件系统

                                                                  在目录中新建文件,目录

                                 基于javafx的模拟磁盘文件系统

                                                          查看磁盘变化

                             变化前的磁盘使用情况


                            基于javafx的模拟磁盘文件系统

                                         添加文件后,磁盘使用情况发生变化


                          基于javafx的模拟磁盘文件系统


                                             删除目录后,磁盘使用发生变化


                               基于javafx的模拟磁盘文件系统


   最后,还有其他功能,就不发了,等同学们自己去发现基于javafx的模拟磁盘文件系统,写博客好累人
                             基于javafx的模拟磁盘文件系统

相关文章:

  • 2021-05-06
  • 2021-05-03
  • 2021-08-03
  • 2021-05-17
  • 2021-04-12
  • 2021-12-15
  • 2021-04-05
  • 2022-02-12
猜你喜欢
  • 2021-07-09
  • 2021-11-04
  • 2022-12-23
  • 2021-12-11
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案