java文件加密解密课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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);

相关文档
最新文档