加密与解密 (JAVA课程设计 2011)(共14页)_第1页
加密与解密 (JAVA课程设计 2011)(共14页)_第2页
加密与解密 (JAVA课程设计 2011)(共14页)_第3页
加密与解密 (JAVA课程设计 2011)(共14页)_第4页
加密与解密 (JAVA课程设计 2011)(共14页)_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 软 件 学 院课程设计报告书课程名称 面向对象程序设计(chn x sh j) 设计(shj)题目 加密(ji m)与解密 专业班级 学 号 姓 名 指导教师 2011年 6 月目录(ml) TOC o 1-3 h z u HYPERLINK l _Toc295575008 1 设计(shj)时间 PAGEREF _Toc295575008 h 3 HYPERLINK l _Toc295575009 2011年6月8号 PAGEREF _Toc295575009 h 3 HYPERLINK l _Toc295575010 2 设计(shj)目的 PAGEREF _Toc295575010 h

2、 3 HYPERLINK l _Toc295575011 3 设计任务 PAGEREF _Toc295575011 h 3 HYPERLINK l _Toc295575011 4 设计内容 PAGEREF _Toc295575011 h 3 HYPERLINK l _Toc295575012 4.1 设计题目 PAGEREF _Toc295575012 h 3 HYPERLINK l _Toc295575012 4.2 功能实现 PAGEREF _Toc295575012 h 3 HYPERLINK l _Toc295575012 4.3 程序模块 PAGEREF _Toc295575012

3、h 34.4 程序页面44.5 程序源代码6 HYPERLINK l _Toc295575013 5 总结与展望 PAGEREF _Toc295575013 h 13 HYPERLINK l _Toc295575014 参考文献 PAGEREF _Toc295575014 h 13 HYPERLINK l _Toc295575015 成绩评定 PAGEREF _Toc295575015 h 141 设计时间2011年6月8号2 设计目的通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的

4、能力,提高学生的应用能力。3 设计任务加密与解密要求:采用图形用户界面,建立菜单(1)给定任意一个文本文件,进行加密,生成另一个文件。(2)对加密后的文件还原。4 设计内容 4.1 设计题目 加密与解密 4.2 功能实现 给定任意一个文本文件,进行加密,生成另一个文件。对加密后的文件还原。4.3 程序模块创建框架内容并注册监听器执行监听器创建对象执行构造方法主函数结束开始4.4 程序界面4.5 程序源代码import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;public class Key

5、 extends JFrame int b;JTextField lujin, key;JTextArea nr;JRadioButton qu, xie;ButtonGroup fz;File f;public Key() Container c = getContentPane(); JPanel jp1 = new JPanel(); JLabel jl1 = new JLabel(输入路径); lujin = new JTextField(15); JButton xuanz = new JButton(选择); jp1.add(jl1); jp1.add(lujin); jp1.ad

6、d(xuanz); c.add(jp1, BorderLayout.NORTH); nr = new JTextArea(); c.add(new JScrollPane(nr), BorderLayout.CENTER); qu = new JRadioButton(写入); xie = new JRadioButton(取出, true); fz = new ButtonGroup(); fz.add(qu); fz.add(xie); JLabel jl2 = new JLabel(密钥); key = new JTextField(15); JButton jiami = new JB

7、utton(加密); JButton jiemi = new JButton(解密); JPanel jp4 = new JPanel(); jp4.setLayout(new GridLayout(2, 1, 5, 5); JPanel jp2 = new JPanel(); jp2.add(jl2); jp2.add(key); jp2.add(jiami); jp2.add(jiemi); jp4.add(jp2); JPanel jp3 = new JPanel(); JButton queding = new JButton(确定); jp3.add(qu); jp3.add(xie

8、); jp3.add(queding); jp4.add(jp3); c.add(jp4, BorderLayout.SOUTH); queding.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) jian(); if (qu.isSelected() shuchu(); if (xie.isSelected() qu(); ); xuanz.addActionListener(new ActionListener() public void actionPerforme

9、d(ActionEvent event) JFileChooser fileChooser = new JFileChooser(); / 实例化文件选择器 fileChooser .setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); / 设置文件选择模式,此处为文件和目录均可 if (fileChooser.showOpenDialog(Key.this) = JFileChooser.APPROVE_OPTION) / 弹出文件选择器,并判断是否点击了打开按钮 String fileName = fileChooser.get

10、SelectedFile() .getAbsolutePath(); / 得到选择文件或目录的绝对路径 lujin.setText(fileName); ); jiemi.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) ObjectInputStream input; try input = new ObjectInputStream(new FileInputStream(lujin .getText(); int mima = Integer.parseInt(key

11、.getText(); AA ac = (AA) input.readObject(); if (ac.getShu() = mima) nr.setText(ac.cc); shuchu(); else nr.setText(错误的key); catch (Exception e) nr.setText(无法解密); ); jiami.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) AA a = new AA(nr.getText(); key.setText(a.sh

12、u + ); try ObjectOutputStream output = new ObjectOutputStream( new FileOutputStream(lujin.getText(); output.writeObject(a); output.flush(); output.close(); qu(); baocun(); catch (Exception e) nr.setText(请选择加密文件保存地址,文件不存在或者无法加密文件,加密文件不能含有换行); ); setLocation(300,300); setSize(380, 350); setVisible(tru

13、e); public void jian() f = new File(lujin.getText(); try f.createNewFile(); catch (IOException e) JOptionPane.showMessageDialog(null, 路径错误); public void shuchu() try FileOutputStream out = new FileOutputStream(f); byte buf = nr.getText().getBytes(); try out.write(buf); out.flush(); out.close(); catc

14、h (IOException e) catch (FileNotFoundException e) public void qu() try FileInputStream in = new FileInputStream(f); int a = (int) f.length(); byte buf = new bytea; try int len = in.read(buf); if (len 0) nr.setText(new String(buf, 0, len); else System.out.println(文件为空); catch (IOException e) catch (F

15、ileNotFoundException e) public static void main(String arge) Key s= new Key(); s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);public void baocun() AA a = new AA(); b = a.getShu(); a.shu = b;class AA implements Serializable String cc;public int shu;public AA() public int getShu() return shu;public void setShu(int shu) this.shu = shu;public AA(String a) cc = a; int zu = 1, 2, 3, 4, 5, 6, 7, 8, 9 ; for (int i = 0; i 1000; i+) int second = (int) (Math.random() * 9

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论