基於javafx的模擬磁碟檔案系統
好久沒寫部落格了,今天有空寫寫,講講之前的作業系統課程設計,模擬的磁碟檔案管理系統,說到模擬,這裡做的是用一個二進位制檔案來模擬磁碟,裡面分磁碟塊,這裡我簡單梳理題目,方便大家理解使用。(原始碼下載)
課程設計題目要求
總的需求:目錄,檔案的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的陣列模擬一塊磁碟位,要先寫滿陣列模擬緩衝,再寫入磁碟檔案
主程式的流程圖
各程式模組之間的層次關係
使用者使用說明
嗶嗶了這麼多,估計沒卵用哈哈,還是看看怎麼使用吧 我的資原始檔中包括原始碼(編輯器用的是想法)和程式的JAR包使用環境:本程式是JAR包,所以需要的Java的的環境支撐,需要安裝的Java的中,並設定雙擊的罐子即可開啟執行本程式。
操作說明:
<1>使用者第一次使用時,系統中是沒有資料的,需要使用者自己新增檔案。
<2>操作類似的窗戶,右鍵選單可以新建檔案,目錄等。
<3>滑鼠移到檔案,目錄上方時,右鍵可以彈出對應的選單
<4>主介面上有一個關閉按鈕,由於程式是全屏顯示,如果使用者要退出程式需要雙擊按鈕,非正常退出資料會丟失。
<5>雙擊可編輯的檔案,目錄即可開啟,進行編輯。
<6>使用者下次開啟程式時會自動讀取上次儲存的系統資料。
測試與執行結果
好了我不裝逼了,這篇部落格是我的課程設計報告,之前做這個 也花費了一個星期時間,想想不浪費自己的成果,讓有需要的 同學可以酌情看看我寫的爛程式碼,各取所需,下面是執行測試圖主介面
新建檔案
刪除檔案
開啟檔案
修改屬性
開啟目錄
在目錄中新建檔案,目錄
檢視磁碟變化
變化前的磁碟使用情況
新增檔案後,磁碟使用情況發生變化
刪除目錄後,磁碟使用發生變化
最後,還有其他功能,就不發了,等同學們自己去發現,寫部落格好累人