java文件加密解密课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件学院
课程设计报告书
课程名称面向对象程序设计
设计题目文本文档的加密与解密
专业班级财升本12-1班
学号 1220970120 姓名王微微
指导教师徐娇月
2013年 1 月
1 设计时间
2013年1月14日-2013年1月18日
2 设计目的
面向对象程序设计是一门实践性很强的计算机专业基础课程。通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。
3 设计任务
对文件进行加密解密
4 设计内容
4.1 需求分析
(1)给定任意一个文本文件,进行加密,生成另一个文件。
(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用于接收操作事件的侦听器接口。对处理操作事件感兴趣的类可以实现此接口,而使用该类创建的对象可使用组件的addActionListener 方法向该组件注册。在发生操作事件时,调用该对象的actionPerformed 方法。
4.3 页面设计
图4.3-1 显示页面
代码实现:
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
图4.3-2 选择所要加密的文本文件
代码实现:
public void actionPerformed(ActionEvent e)//查找读入文件
{
if(e.getSource()==itemOpen)
{
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);//读取字符流
BufferedReader in=new BufferedReader(file_reader);
while((s=in.readLine())!=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[]中*/
texta.setText(null);
int n;
char secret=' ';
for(int i=0;i { char c=(char)(secret^a[i]);//进行异或运算 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;i { char c=(char)(secret^a[i]);//再次异或运算,即还原 texta.append(""+c); } } 4.4 程序代码 import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; class Myframe extends Frame implements ActionListener { FileDialog filedialog_save,filedialog_load; Button button1,button2; Label label; MenuBar bar; Menu menu; MenuItem itemOpen,itemSave; TextArea texta; Myframe(String s) //创建对话框 { super(s); texta= new TextArea(38,160); button1= new Button("加密"); button2= new Button("解密"); menu=new Menu("文件"); itemOpen=new MenuItem("打开"); itemSave=new MenuItem("保存"); label=new Label("文件浏览窗口"); itemOpen.addActionListener(this);