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