




已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
軟 件 學 院課程設計報告書課程名稱 面向對象程序設計課程設計 設計題目 文件加密與解密 專業(yè)班級 學 號 姓 名 指導教師 2013 年 6 月目錄1 設計時間25 設計內(nèi)容22 設計目的23設計題目24設計任務25.1需求分析25.1.1問題描述25.1.2基本要求25.2程序流程35.3程序解決的核心問題45.4程序源代碼45.5程序執(zhí)行界面86 總結與展望12參考文獻131 設計時間2013年6月8日-2013年6月14日2 設計目的面向對象程序設計是一門實踐性很強的計算機專業(yè)基礎課程,課程設計是學習完該課程后進行的一次較全面的綜合練習。其目的在于通過實踐加深學生對面向對象程序設計的理論、方法和基礎知識的理解,掌握使用Java語言進行面向對象設計的基本方法,提高運用面向對象知識分析實際問題、解決實際問題的能力,提高學生的應用能力。3設計題目采用圖形用戶界面,建立菜單。(1)給定任意一個文本文件,進行加密,生成另一個文件。(2)對加密后的文件還原。4設計任務 通過實踐加深學生對面向對象程序設計的理論、方法和基礎知識的理解,掌握使用java語言進行面向對象程序設計的基本方法,提高運用面向對象知識分析實際問題、解決實際問題的能力,提高學生的應用能力。5 設計內(nèi)容 5.1需求分析5.1.1問題描述 通過編程,實現(xiàn)“加密與解密”功能。給定任意一個文本文件,進行加密,生成另一個文件。對加密后的文件還原。5.1.2基本要求采用圖形用戶界面,建立菜單 (1)給定任意一個文本文件,進行加密,生成另一個文件。(2)對加密后的文件還原。 5.2程序流程 開始點擊瀏覽讀取文件輸入密鑰密鑰非空YN加/解密是否存在此文件的加/解密文件N加/解密成功NY圖1 程序流程5.3程序解決的核心問題利用文件的輸入輸出流,按字符讀取文件內(nèi)容,把讀取的內(nèi)容,注意進行處理后,在重新寫入新文件,實現(xiàn)文件加密。用到的類:FileRead,FileWrite.添加窗體并布置面板,中間用到了,彈出對話框的事件。設計的類有,F(xiàn)rame,Panel,J JOptionPane。文件選擇器的載入。通過為按鈕添加事件監(jiān)聽,來實現(xiàn)文件選擇器的觸發(fā)操作。用到的類為:JFileChooser。自定義異常的種類,實現(xiàn)異常的靈活應用。適當?shù)恼{(diào)整程序的終止點或者循環(huán)點。5.4程序源代碼import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;public class code Frame f;Panel p1, p2;Label l1, l2;Button key, unkey,scan;TextField t1, t2;TextArea ta;String path;String FileName;public code() /窗體的基本構架和面板布置 f = new Frame(文件加密);f.setLayout(new BorderLayout();p1 = new Panel();p2 = new Panel();l1 = new Label(選擇路徑);scan = new Button(瀏覽);l2 = new Label(密鑰);key = new Button(加密);unkey = new Button(解密);t1 = new TextField(30);t2 = new TextField(20);ta = new TextArea();p1.add(l1);p1.add(t1);p1.add(scan);f.add(p1, BorderLayout.NORTH);p2.add(l2);p2.add(t2);p2.add(key);p2.add(unkey);f.add(p2, BorderLayout.SOUTH);f.add(ta, BorderLayout.CENTER);f.pack();f.setVisible(true);f.addWindowListener(new win();scan.addActionListener(new scanner();key.addActionListener(new keyer();unkey.addActionListener(new unkeyer();public static void main(String args)code code1 = new code(); /主函數(shù)入口class win extends WindowAdapter /關閉窗口的監(jiān)聽事件public void windowClosing(WindowEvent e)System.exit(0);class scanner implements ActionListener /瀏覽按鈕的監(jiān)聽事件public void actionPerformed(ActionEvent e)JFileChooser file = new JFileChooser(.);int result = file.showOpenDialog(null);/0代表選擇了文件if (result = JFileChooser.APPROVE_OPTION)FileName = file.getSelectedFile().getName();path = file.getSelectedFile().getAbsolutePath();t1.setText(path);FileReader reader = null;tryreader = new FileReader(path);int tempchar;ta.setText();while (tempchar = reader.read() != -1)char n=(char)tempchar;char m = n;String M = new String(m,0,1);ta.append(M);reader.close();catch (Exception e1)ta.append(文件讀取出錯!);class keyer implements ActionListener / 加密按鈕的監(jiān)聽事件public void actionPerformed(ActionEvent e) FileReader read1 = null;FileWriter write1 = null;int n;tryString a = t1.getText();String b = t2.getText();File Exist = new File(加密+FileName);if (a.equals()throw new MyException1(請選擇路徑!);if (Exist.exists()throw new MyException1(已存在加密文件,請先刪除,再進行加密!);if (b.equals()throw new MyException1(請輸入密鑰!);else n=Integer.parseInt(t2.getText();tryread1 = new FileReader(path);write1 = new FileWriter(加密+FileName, true);int i;while (i = read1.read() != -1)write1.write(char)(i+n);write1.close();JOptionPane.showMessageDialog(null, 加密成功,祝賀您,JOptionPane.PLAIN_MESSAGE);ta.setText();t2.setText();catch (IOException e1)catch (MyException1 e2) class unkeyer implements ActionListener /解密按鈕監(jiān)聽事件public void actionPerformed(ActionEvent e)FileReader read1 = null;FileWriter write1 = null;int n;tryString a = t1.getText();String b = t2.getText();File Exist = new File(解密+FileName); if (a.equals() throw new MyException1(請選擇路徑!); if (Exist.exists() throw new MyException1(已存在解密密文件,請先刪除,再進行解密!); if (b.equals() throw new MyException1(請輸入密鑰!); else n = Integer.parseInt(t2.getText(); try ta.setText();t2.setText(); read1 = new FileReader(path); write1 = new FileWriter(解密+FileName, true); int i; while (i = read1.read() != -1) write1.write(char)(i-n); char m =(char)(i-n); String M = new String(m, 0, 1); ta.append(M); write1.close(); JOptionPane.showMessageDialog(null, 解密成功, 祝賀您, JOptionPane.PLAIN_MESSAGE); catch (IOException e1) catch(MyException1 e2)class MyException1 extends Exceptionpublic MyException1(String message) JOptionPane.showMessageDialog(null, message); 5.5程序執(zhí)行界面圖 2 為進入程序的主頁面圖3 路徑為空時彈出上頁面圖4 未輸入密鑰時彈出上界面圖5 條件滿足,點擊加密按鈕時,彈出上界面圖6 已經(jīng)存在此文件的加密文件時,準備再次加密時彈出上界面圖7 條件滿足,點擊解密按鈕時,彈出上界面圖8 已經(jīng)存在選中文件的解密文件,試圖再次解密時,彈出上界面6 總結與展望通過這次課程設計,我學到了很多。課本的內(nèi)容雖說是基礎,是一切的根本,但是學習基本內(nèi)容和應用編程,簡直就是兩個天地。一些編程的思想不是靠基礎知識就能學到的,比如文件加密,開始接觸到這個題目,第一反應就是,我沒學過關于文件加密的內(nèi)容啊,該怎么辦啊。但是當我聽了老師的提醒后,才恍然醒悟,加密不一定是你沒學的知識,也許它就是用你已經(jīng)有的知識的變形和應用。所以,知識的應用是靈活多態(tài)的。有些知識雖然我們懂了,但是真正去應用時,卻會捉襟見肘。比如一個類的程序段,什么時候該用內(nèi)部類什么時候該用外部類,我們怎么去權衡。什么樣的變量可以在哪個部分去調(diào)用,都需要我們在實踐應用中去加強認識。不只是通過死記硬背就能靈活應用的。知識的海洋是無限大的,我們手頭中有的資源也是無窮無盡的每次編程,不可能一點問題都沒有??傆羞@樣和那樣的難題,出現(xiàn)在我們思維的盲區(qū)。我們要充分利用好自己的幫助文檔和網(wǎng)上的資源,不要太執(zhí)著于自己的知識層面,出去蕩蕩資料,會發(fā)現(xiàn)原來這個問題如此簡單就可以解決。這次課程設計后,我的學習目標和手段,有了新的改觀,不在整天肯書本了,我要用自己學到的知識應用到生活中去編程,去實踐,從而磨練自己的編程思維和手法。多看網(wǎng)上的使用編程實例,練習自己的編程思維,學習新方法新思路。參考文獻1 屈輝立,陳可明,石武信.JSP網(wǎng)站編程教程M.第1版, 北京:北京希望電子出版社,2005 2 白勇.用B/S模式構建在線考試系統(tǒng)J,重慶電力高等??茖W校學報,2003,10(4): 100130. 3 J
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 超聲胸水腹水定位技術規(guī)范
- 幼兒心理健康案例與分析
- 好看的版式設計核心要素
- 小學生法制教育主題班會課件
- 高血壓超聲心動圖表現(xiàn)
- 培訓系統(tǒng)軟件的應用與優(yōu)化
- 企業(yè)級碳中和能源數(shù)字化解決方案
- 2025年昌寧縣職業(yè)技術學校招聘考試筆試試題(含答案)
- 2025年安徽馬鞍山市公共交通集團有限責任公司公考招聘筆試試題(含答案)
- 【武漢】2025年湖北武漢海關所屬事業(yè)單位公開招聘事業(yè)人員9人筆試歷年典型考題及考點剖析附帶答案詳解
- 四年級語文 囊螢夜讀 說課一等獎
- 采購成本與價格管理
- 汽車試驗測試技術課件
- AVL-CRUISE-2019-整車經(jīng)濟性動力性分析操作指導書
- 藝術欣賞與實踐(高職)全套教學課件
- 富馬酸奧賽利定注射液-藥品臨床應用解讀
- 胃早癌-經(jīng)典課件
- 2024IPv6 技術要求 第2部分:基于 IPv6 段路由(SRv6)的 IP 承載網(wǎng)絡
- 5WHY分析法培訓課件
- 幕墻工安全技術交底
- 集裝箱七點檢查表
評論
0/150
提交評論