版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目 錄</b></p><p> 一、課程設(shè)計的目的</p><p> 二、課程設(shè)計的內(nèi)容及要求</p><p><b> 內(nèi)容</b></p><p><b> 要求</b></p><p><b&
2、gt; 三、實現(xiàn)原理</b></p><p> 四、關(guān)鍵算法實現(xiàn)流程圖</p><p><b> 流程圖</b></p><p><b> 關(guān)鍵算法</b></p><p> 五、軟件運行環(huán)境及限制 </p><p> 六.結(jié)果輸出及分析
3、</p><p><b> 七.心得體會</b></p><p><b> 八.參考文獻(xiàn)</b></p><p><b> 一.課程設(shè)計的目的</b></p><p> 本課程設(shè)計是學(xué)習(xí)完《計算機操作系統(tǒng)》課程后,進行的一次全面的綜合訓(xùn)練,通過課程設(shè)計,讓我更好地
4、掌握操作系統(tǒng)的原理及實現(xiàn)方法,加深對操作系統(tǒng)基礎(chǔ)理論和重要算法的理解,加強了我的動手能力。</p><p> 二.課程設(shè)計的內(nèi)容及要求</p><p> 內(nèi)容:為LINUX 設(shè)計一個簡單的二級文件系統(tǒng)。要求做到以下幾點:</p><p> 1、可以實現(xiàn)下列幾條命令(至少4條)。</p><p> Login 用戶登錄&l
5、t;/p><p> Dir 列文件目錄</p><p> Create 創(chuàng)建文件</p><p> Delete 刪除文件</p><p> Open 打開文件</p><p> Close 關(guān)閉文件</p><p>
6、 Read 讀文件</p><p> Write 寫文件</p><p> 2、列目錄時要列出文件名、物理地址、保護碼和文件長度。</p><p> 3、源文件可以進行讀寫保護。</p><p> 從課程設(shè)計的目的出發(fā),通過設(shè)計工作的各個環(huán)節(jié),達(dá)到以下教學(xué)要求:</p><p>
7、1、鼓勵并優(yōu)先個人獨立選題設(shè)計,可從下面設(shè)計題目中選擇,也可以自擬相關(guān)題目;如要合作,每組最多兩名同學(xué),且設(shè)計文檔不能相同;</p><p> 2、可以在我們實驗課最后布置的實驗設(shè)計基礎(chǔ)上進行完善和改進,但不能相同。</p><p> 3、題目選定后報給班長,班長要注意班級內(nèi)題目的平衡,根據(jù)所選題目進行協(xié)調(diào),不要都選一樣的題。</p><p> 4、設(shè)計完成后
8、報請老師答辯,答辯時不能對自己提供的設(shè)計進行講解的同學(xué),視為抄襲;</p><p> 5、要求寫出一份詳細(xì)的設(shè)計報告(A4紙)。</p><p> 6、每位同學(xué)在周五將自己的設(shè)計報告和電子文檔(包括報告和源程序)交給學(xué)習(xí)委員,并由學(xué)習(xí)委員統(tǒng)一刻盤后上交。</p><p><b> 三.實現(xiàn)原理</b></p><p&g
9、t; 首先,實現(xiàn)Login用戶登錄,(用戶名:admin 密碼:admin)必須登錄成功才能進入文件系統(tǒng)進行查看,進入后,通過樹狀展示文件目錄(默認(rèn)文件目錄是C:\Program Files),右側(cè)顯示文件夾圖標(biāo)或者文件圖標(biāo),選中節(jié)點鼠標(biāo)右擊彈出菜單,有新建目錄,新建文件,刪除文件,打開文件,屬性菜單項,并分別實現(xiàn)其功能。</p><p> 四.關(guān)鍵算法實現(xiàn)流程圖</p><p>&l
10、t;b> 流程圖:</b></p><p><b> 關(guān)鍵算法:</b></p><p> 1.新建目錄功能的實現(xiàn)</p><p> private class MenuAction2 implements ActionListener {</p><p> public void acti
11、onPerformed(ActionEvent arg0) {</p><p><b> try {</b></p><p> String Name=JOptionPane.showInputDialog("創(chuàng)建目錄名稱:");</p><p> if (!Name.equals("")) {&l
12、t;/p><p> // 得到樹狀視圖的被選擇節(jié)點路徑</p><p> TreePath path = tree.getSelectionPath();</p><p> // 得到樹狀視圖的被選擇節(jié)點</p><p> MutableTreeNode node = (MutableTreeNode) path</p>&
13、lt;p> .getLastPathComponent();</p><p> // 得到樹狀視圖的模型類變量</p><p> DefaultTreeModel model = (DefaultTreeModel) tree.getModel();</p><p> // 新建子節(jié)點,標(biāo)題為新目錄名稱</p><p> Mu
14、tableTreeNode newNode = new DefaultMutableTreeNode(Name);</p><p> // 先展開樹狀視圖,觸發(fā)展開樹狀視圖事件,給當(dāng)前節(jié)點追加下級節(jié)點</p><p> tree.fireTreeExpanded(path);</p><p> // 如果當(dāng)前節(jié)點允許存在下級節(jié)點,則在樹狀視圖的模型類變量中插入
15、新子節(jié)點,位置是第一個,否則顯示消息并退出該函數(shù)</p><p> if (node.getAllowsChildren())</p><p> model.insertNodeInto(newNode, node, 0);</p><p><b> else {</b></p><p> JOptionPane
16、.showMessageDialog(null, "不能給文件追加下級目錄!");</p><p><b> return;</b></p><p><b> }</b></p><p> // 得到被選擇節(jié)點對應(yīng)文件的完整路徑信息</p><p> String ful
17、lPath = "";</p><p> for (Object obj : path.getPath()) {</p><p> String str = obj.toString();</p><p> // 處理盤符根目錄問題</p><p> if (str.endsWith("\\")
18、)</p><p> str = str.substring(0, str.length() - 1);</p><p> if (fullPath.equals(""))</p><p> fullPath += str;</p><p><b> else</b></p>&
19、lt;p> fullPath += "\\" + str;</p><p><b> }</b></p><p> //System.out.println("fullpath="+fullPath);</p><p> // 生成被選擇節(jié)點對應(yīng)的文件類變量</p><p
20、> File parentDir = new File(fullPath);</p><p> // 如果是目錄,則新建相應(yīng)的子目錄</p><p> if (parentDir.isDirectory()) {</p><p> File currentFile = new File(fullPath + "\\" + Name)
21、;</p><p> currentFile.mkdir();</p><p><b> }</b></p><p><b> }</b></p><p><b> else{</b></p><p> JOptionPane.showMess
22、ageDialog(null, "文件名不能為空!");</p><p><b> }</b></p><p> } catch (HeadlessException e) {</p><p> // TODO Auto-generated catch block</p><p> e.pri
23、ntStackTrace();</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 2.新建文件功能的實現(xiàn)</p><p> private class MenuA
24、ction5 implements ActionListener {</p><p> public void actionPerformed(ActionEvent e) {</p><p> TreePath tp = tree.getSelectionPath();</p><p> // 得到被選擇節(jié)點對應(yīng)文件的完整路徑信息</p>
25、<p> String fullPath = "";</p><p> for (Object obj : tp.getPath()) {</p><p> String str = obj.toString();</p><p> // 處理盤符根目錄問題</p><p> if (str.ends
26、With("\\"))</p><p> str = str.substring(0, str.length() - 1);</p><p> if (fullPath.equals(""))</p><p> fullPath += str;</p><p><b> else<
27、;/b></p><p> fullPath += "\\" + str;</p><p><b> }</b></p><p> String FileName = JOptionPane.showInputDialog("創(chuàng)建文件名稱:");</p><p> i
28、f (!FileName.equals(null)) {</p><p> File f = new File(fullPath + "\\" + FileName);</p><p><b> try {</b></p><p> f.createNewFile();</p><p> }
29、catch (IOException e1) {</p><p> // TODO Auto-generated catch block</p><p> e1.printStackTrace();</p><p><b> }</b></p><p><b> }else{</b><
30、/p><p> JOptionPane.showMessageDialog(null, "文件名不能為空!");</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p>&
31、lt;p><b> 3.刪除功能的實現(xiàn)</b></p><p> // 內(nèi)部類,響應(yīng)快捷菜單的單擊操作</p><p> private class MenuAction implements ActionListener {</p><p> public void actionPerformed(ActionEvent e)
32、{</p><p> // 得到樹狀視圖的被選擇節(jié)點路徑</p><p> TreePath tp = tree.getSelectionPath();</p><p> // 得到樹狀視圖的被選擇節(jié)點</p><p> DefaultMutableTreeNode node = (DefaultMutableTreeNode) tp
33、</p><p> .getLastPathComponent();</p><p> // 從樹狀視圖刪除當(dāng)前節(jié)點</p><p> DefaultTreeModel dtm = (DefaultTreeModel) tree.getModel();</p><p> dtm.removeNodeFromParent(node);&
34、lt;/p><p> // 得到被選擇節(jié)點對應(yīng)文件的完整路徑信息</p><p> String fullPath = "";</p><p> for (Object obj : tp.getPath()) {</p><p> String str = obj.toString();</p><
35、p> // 處理盤符根目錄問題</p><p> if (str.endsWith("\\"))</p><p> str = str.substring(0, str.length() - 1);</p><p> if (fullPath.equals(""))</p><p> f
36、ullPath += str;</p><p><b> else</b></p><p> fullPath += "\\" + str;</p><p><b> }</b></p><p> // 如果是文件,直接刪除,如果是目錄則調(diào)用deleteDir函數(shù)刪除目錄
37、</p><p> File currentFile = new File(fullPath);</p><p> if (currentFile.isFile())</p><p> currentFile.delete();</p><p><b> else</b></p><p>
38、 deleteDir(currentFile);</p><p><b> }</b></p><p><b> };</b></p><p> // 通過遞歸調(diào)用,可以刪除目錄的函數(shù)</p><p> public static boolean deleteDir(File dir) {
39、</p><p> // 判斷是否為目錄,如果是,則遞歸調(diào)用自己,如果不是,直接刪除文件</p><p> if (dir.isDirectory()) {</p><p> String[] subDir = dir.list();</p><p> for (String s : subDir) {</p><
40、p> deleteDir(new File(dir, s));</p><p><b> }</b></p><p><b> }</b></p><p> return dir.delete();</p><p><b> }</b></p>&
41、lt;p> 4.打開文件的功能實現(xiàn)</p><p> 即是Open_File這個類。</p><p><b> 5.屬性的功能實現(xiàn)</b></p><p><b> 取得路徑名:</b></p><p> TreePath tp = tree.getSelectionPath();&
42、lt;/p><p> // 得到被選擇節(jié)點對應(yīng)文件的完整路徑信息</p><p> String fullPath = "";</p><p> for (Object obj : tp.getPath()) {</p><p> String str = obj.toString();</p>&
43、lt;p> // 處理盤符根目錄問題</p><p> if (str.endsWith("\\"))</p><p> str = str.substring(0, str.length() - 1);</p><p> if (fullPath.equals(""))</p><p>
44、 fullPath += str;</p><p><b> else</b></p><p> fullPath += "\\" + str;</p><p><b> }</b></p><p> 然后傳入new Proper(fullPath);</p>
45、;<p> 屬性詳細(xì)實現(xiàn)即是Proper類。</p><p> 五.軟件運行環(huán)境及限制</p><p> 運行環(huán)境:JDK 1.6</p><p><b> 使用語言:Java</b></p><p> 編程工具:JBuilder2007</p><p><b>
46、 六.結(jié)果輸出及分析</b></p><p> 登錄界面:(用戶名和密碼均為admin)</p><p><b> 錯誤提示框</b></p><p><b> 進入系統(tǒng)后主界面:</b></p><p><b> 菜單選項:</b></p>
47、<p><b> 新建目錄“小小”</b></p><p><b> 新建文件“小小”</b></p><p> 刪除“小小”目錄及文件</p><p><b> 刪除成功</b></p><p><b> 打開文件</b></
48、p><p><b> 查看文件屬性</b></p><p><b> 七.心得體會</b></p><p> 操作系統(tǒng)課程設(shè)計,自己通過查找資料、復(fù)習(xí)課本、編程調(diào)試,寫實驗報告等環(huán)節(jié),進一步掌握了以前學(xué)到的知識,并且還對操作系統(tǒng)應(yīng)用有了更深入的認(rèn)識與掌握。比如對樹的展示有了很好的學(xué)習(xí),對二級文件系統(tǒng)也有了很好的了解,如何
49、解決實現(xiàn)里面功能的各種問題。</p><p> 通過實踐的學(xué)習(xí),我認(rèn)到學(xué)好計算機要重視實踐操作,不僅僅是學(xué)習(xí)java語言,還是其它的語言,以及其它的計算機方面的知識都要重在實踐,所以后在學(xué)習(xí)過程中,我會更加注視實踐操作,使自己便好地學(xué)好計算機。</p><p><b> 八.參考文獻(xiàn)</b></p><p> [1]朱福喜,尹為民等編著.
50、Java語言與面向?qū)ο蟪绦蛟O(shè)計.武漢:武漢大學(xué)出版社,2002.12 </p><p> [2]陸昌輝,Java程序設(shè)計實用案例教程.北京:電子工業(yè)出版社,2008.5</p><p> [3]丁振凡,黎章等編著.Java語言實用教程..北京:北京郵電大學(xué)出版社,2005.8</p><p> [4]何橋,李肅義等編著.Java程序設(shè)計簡明教程.北京:中國水利
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 操作系統(tǒng)課程設(shè)計二級文件系統(tǒng)
- 操作系統(tǒng)課程設(shè)計二級文件系統(tǒng)
- 操作系統(tǒng)課程設(shè)計----二級文件系統(tǒng)
- 操作系統(tǒng)課程設(shè)計--二級文件系統(tǒng)設(shè)計
- 操作系統(tǒng)課程設(shè)計--二級文件系統(tǒng)(java)
- 操作系統(tǒng)課程設(shè)計linux二級文件系統(tǒng)設(shè)計
- 操作系統(tǒng)課程設(shè)計報告--linux二級文件系統(tǒng)設(shè)計
- 操作系統(tǒng)課程設(shè)計簡單文件系統(tǒng)的實現(xiàn)
- 操作系統(tǒng)課程設(shè)計--簡單文件系統(tǒng)的實現(xiàn)
- 操作系統(tǒng)課程設(shè)計--為linux系統(tǒng)設(shè)計一個簡單的二級文件系統(tǒng)
- 《操作系統(tǒng)課程設(shè)計-模擬一個簡單二級文件管理系統(tǒng)》
- 操作系統(tǒng)課程設(shè)計--模擬文件系統(tǒng)
- 操作系統(tǒng)課程設(shè)計--樹形目錄文件系統(tǒng)
- 操作系統(tǒng)課程設(shè)計報告--多級文件系統(tǒng)
- 操作系統(tǒng)課程設(shè)計報告--多級文件系統(tǒng)
- 操作系統(tǒng)課程設(shè)計---文件系統(tǒng)的模擬
- 操作系統(tǒng)課程設(shè)計---模擬文件系統(tǒng)
- 操作系統(tǒng)課程設(shè)計-模擬文件系統(tǒng)
- 操作系統(tǒng)課程設(shè)計報告--多級文件系統(tǒng)
- 操作系統(tǒng)課程設(shè)計報告--多級文件系統(tǒng).doc
評論
0/150
提交評論