1. 程式人生 > >基於javafx的模擬磁碟檔案系統

基於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>使用者下次開啟程式時會自動讀取上次儲存的系統資料。

測試與執行結果

 好了我不裝逼了,這篇部落格是我的課程設計報告微笑,之前做這個 也花費了一個星期時間,想想不浪費自己的成果,讓有需要的 同學可以酌情看看我寫的爛程式碼,各取所需,下面是執行測試圖

                                                                          主介面

                          
                                                                                  新建檔案              
             

                                                                           刪除檔案

                              

                                                                      開啟檔案

                               

                                                                            修改屬性

                                 

                                   

                                      

                                                                               開啟目錄

                            

                                                                在目錄中新建檔案,目錄

                                 

                                            檢視磁碟變化

                             變化前的磁碟使用情況


                            

                                         新增檔案後,磁碟使用情況發生變化


                          


                                             刪除目錄後,磁碟使用發生變化


                               
   最後,還有其他功能,就不發了,等同學們自己去發現再見,寫部落格好累人