1、 课程设计课程设计报告书报告书 课程名称课程名称 面向对象程序设计面向对象程序设计 设计题目设计题目 文本文档的加密与解密文本文档的加密与解密 2013 年年 1 月月 1 1 设计时间 2013 年 1 月 14 日-2013 年 1 月 18 日 2 设计目的 面向对象程序设计是一门实践性很强的计算机专业基础课程。通过实践加深学生对面 向对象程序设计的理论、方法和基础知识的理解,掌握使用 Java 语言进行面向对象设计 的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应 用能力。 3 设计任务 对文件进行加密解密 4 设计内容 4.1 需求分析 (1)给定任意一
2、个文本文件,进行加密,生成另一个文件。 (2)对加密后的文件还原。 4.2 总体设计 4.2.1 包的描述 导入了 java.awt; java.awt.event; java.io; javax.swing 等包。 4.2.2 类的描述 Myframe 类;E1 类。其中 Myframe 类继承 Frame 类;可以扩展 Frame 的功能并且可 以实例化的多种功能,这个类也实现了 ActionListener 这个接口,它是 Java 中关于事件处 理的一个接口,ActionListener 用于接收操作事件的侦听器接口。对处理操作事件感兴趣的 类可以实现此接口,而使用该类创建的对象可使用
3、组件的 addActionListener 方法向该组 件注册。在发生操作事件时,调用该对象的 actionPerformed 方法。 4.3 页面设计 2 图 4.3-1 显示页面 代码实现: addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); 3 图 4.3-2 选择所要加密的文本文件 代码实现: public void actionPerformed(ActionEvent e)/查找读入文件 if(e.getSource()=itemOpen)
4、 filedialog_load.setVisible(true); texta.setText(null); String s; if(filedialog_load.getFile()!=null) try File file=new File(filedialog_load.getDirectory(),filedialog_load.getFile(); FileReader file_reader=new FileReader(file);/读取字符流 4 BufferedReader in=new BufferedReader(file_reader); while(s=in.re
5、adLine()!=null) texta.append(s+n); in.close(); file_reader.close(); catch (IOException e1) 图 4.3-3 加密后界面 代码实现: if(e.getSource()=button1) char a=texta.getText().toCharArray();/*把 texta 中获得的文本,进行初始化,与 原字符串长度相等,并将该字符串对象的全部字符复制到该数组 a中*/ 5 texta.setText(null); int n; char secret= ; for(int i=0;ia.length;
6、i+) char c=(char)(secretai);/进行异或运算 texta.append(“+c); 图 4.3-4 解密后的界面 代码实现: if(e.getSource()=button2) char a=texta.getText().toCharArray(); texta.setText(null); int n; char secret= ; for(int i=0;ia.length;i+) 6 char c=(char)(secretai);/再次异或运算,即还原 texta.append(“+c); 4.4 程序代码 import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; class Myframe extends F