- 点击
File_System.exe
启动时,须保证Category.json
与Disk.json
文件与File_System.exe
在同一目录中。 - 通过Qt Creator运行调试时,须保证
Category.json
与Disk.json
文件在生成的可执行文件的上一级目录中(即与生成的debug
或release
文件夹在同一目录下)。 - 如果
Category.json
与Disk.json
文件丢失,可从src\log
文件夹中重新拷贝获得。 - 读写文件时尽量不要使用中文。
在内存中开辟一个空间作为文件存储器,在其上实现一个简单的文件系统。
退出这个文件系统时,需要该文件系统的内容保存到磁盘上,以便下次可以将其恢复到内存中来。
-
文件存储空间管理可采取显式链接(如FAT)或者其他方法。(即自选一种方法)
-
空闲空间管理可采用位图或者其他方法。如果采用了位图,可将位图和FAT表合二为一。
-
文件目录采用多级目录结构。至于是否采用索引节点结构,自选。目录项目中应包含:文件名、物理地址、长度等信息。同学可在这里增加一些其他信息。
-
文件系统提供的操作:
格式化,创建子目录,删除子目录,显示目录,更改当前目录,创建文件,打开文件,关闭文件,写文件,读文件,删除文件。
- 熟悉文件存储空间的管理;
- 熟悉文件的物理结构、目录结构和文件操作;
- 熟悉文件系统管理实现;
- 加深对文件系统内部功能和实现过程的理解
- 开发环境:Windows10
- 开发软件:
- Qt v5.15.2
- Qt Creator v4.15.0 (Community)
- 开发语言:C++
- 主要引用模块:
- Qt核心组件: QObject, QMainWindow, QCoreApplication,
- QtWidgets: QMessageBox, QInputDialog, QLabel, QPushButton, QTreeWidgetItem
- Qt标准库: QStack, QString
- JSON相关: QJsonArray, QJsonObject, QJsonDocument, QJsonValue, QJsonParseError
- 其他: QCloseEvent, QDateTime, QDir, QFile
D:.
│ README.md
├─images ——README图片
│ addNewFile.png
│ deleteFolder.png
│ format.png
│ MainWindow.png
│ OpneFile.png
│ sameFileName.png
│ SaveFile.png
│ saveLog.png
│ switchFile.png
│ WhiteSpace.png
│
└─src
│ Category.cpp ——Category目录类实现
│ Category.h
│ FCB.cpp ——FCB类实现
│ FCB.h
│ FileManagement.pro ——Qt项目文件
│ FileManagement.pro.user
│ images.qrc ——Qt资源管理文件
│ main.cpp
│ mainwindow.cpp ——主界面逻辑实现
│ mainwindow.h
│ mainwindow.ui ——主界面UI
│ texteditwindow.cpp ——编辑器界面逻辑实现
│ texteditwindow.h
│ texteditwindow.ui ——编辑器界面UI
│ VirtualDisk.cpp ——VirtualDisk模拟磁盘类实现
│ VirtualDisk.h
│
├─images ——项目图片资源文件
│ editor.ico
│ file.ico
│ folder.ico
│ txt.ico
│ user.ico
│
└─log ——日志文件
Category.json
Disk.json
- 在右侧文件列表中,双击某文件。
- 右键选中某文件,弹出菜单,并选择
Open
。
点击文件编辑页面右上角"X",并选择是否Save file
。
- 在右侧文件列表空白处(如下图红框所示),鼠标右键打开菜单,并选择
Add new file
或Add new folder
。 - 在左侧文件目录树中,选中某级文件夹后鼠标右键打开菜单,选择
Add new folder
(此方式仅能新建文件夹)。
注意:同一目录下,文件夹或文件不能重名!
- 在右侧文件列表中,双击某文件夹,实现跳转。
- 在左侧文件目录树中,双击某文件夹,实现跳转。
- 在左侧文件目录树中,左键选中某文件夹,弹出菜单,选择
Open
。 - 右上方点击
Back
按钮,可实现跳转至上一级文件夹。
在右侧文件目录列表中右键某文件或文件夹,弹出菜单,选择Delete
。
在右侧文件目录列表空白处右键,弹出菜单,选择Format
。
点击右上角主界面的"X",弹出对话框,选择Yes
。
- 编码:支持中文。
- 多线程:可打开多个编辑器窗口。
- 布局:支持动态大小的窗口布局。
- 文件或文件夹重命名功能。