面向对象程序设计课程设计加密与解密_第1页
面向对象程序设计课程设计加密与解密_第2页
面向对象程序设计课程设计加密与解密_第3页
面向对象程序设计课程设计加密与解密_第4页
面向对象程序设计课程设计加密与解密_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、软 件 学 院课程设计报告书课程名称 面向对象程序设计课程设计 设计题目 加密与解密 专业班级 软件09-4 学 号 姓 名 指导教师 2011 年 6 月1 设计时间 32 设计目的 33设计任务 34 设计内容 3 4.1 抽象数据类型的定义 .34.1.1程序所需要引入的包 .34.1.2 其他定义 .34.2程序流程 .44.3模块间层次关系 .44.4 详细设计 .54.4.1 主函数代码 .54.4.2 选择文件路径代码 .54.4.3 加密监听代码 54.4.4 解密监听代码 64.4.5 加密与解密代码 . .64.5 测试结果 84.5.1 选择文件路径结果 .84.5.2

2、文件加密结果 .94.5.3 解密结果 .104.6 源代码 115 总结与展望 .15参考文献 .161 设计时间2011/6/7-2011/6/132 设计目的面向对象程序设计是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。3设计任务要求:采用图形用户界面,建立菜单(1)给定任意一个文本文件,进行加密,生成另一个文件。(2)对加密后的文件还原。4 设计内容

3、 4.1 抽象数据类型的定义4.1.1程序所需要引入的包import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;4.1.2其他定义new jpanel()new jtextfield()new jbutton( )new jtextarea()new jpanel()new actionlistener()4.2程序流程开始图弹出文件加密器对话框选择要加密的文件加密或解密是否获得文件路径是否文件是否已加密解密 否加密生成机密文件是生成解密文件结束 图1 程序流程图文件加密器、解密模块4.3模

4、块间层次关系文件选择模块解密模块加密模块解密操作模块加密操作模块图2层次(调用)关系图4.4详细设计4.4.1 主函数代码public static void main(string args)swallow sw = new swallow();4.4.2 选择文件路径代码class myjianting1 implements actionlistenerpublic void actionperformed(actionevent e)jfilechooser fc = new jfilechooser(); / 实例化文件选择器fc.setfileselectionmode(jfile

5、chooser.files_and_directories); / 设置文件选择模式,此处为文件和目录均可if (fc.showopendialog(swallow.this) = jfilechooser.approve_option) / 弹出文件选择器,并判断是否点击了打开按钮string filename = fc.getselectedfile().getabsolutepath(); / 得到选择文件或目录的绝对路径tf1.settext(filename);4.4.3 加密监听代码class myjianting2 implements actionlistenerpublic

6、void actionperformed(actionevent event)swallow1 sw = new swallow1();trysw.open(); sw.password();sw.showfilecontent();catch(ioexception e)nr.settext(文件不能打开!);4.4.4 解密监听代码class myjianting3 implements actionlistenerpublic void actionperformed(actionevent event)swallow1 sw = new swallow1();try sw.open()

7、; sw.password();sw.showfilecontent();catch (ioexception e)nr.settext(文件解密有误!);4.4.5 加密与解密代码public class swallow1private file file;byte buf;randomaccessfile raf,raf1;public swallow1()file = new file(tf1.gettext();buf = new byte(int)file.length();public void open() throws filenotfoundexceptionraf = ne

8、w randomaccessfile(file, rw); raf1 = new randomaccessfile(“加密后的文件.txt”, rw);public void password() throws ioexceptionraf.read(buf);for (int i = 0; i buf.length; i+)bufi = (byte)(bufi);raf.seek(0);raf.write(buf);public void showfilecontent()file file = new file(“加密后的文件.txt”);bufferedreader reader = n

9、ull;tryreader = new bufferedreader(new filereader(file);string temp = null;while (temp = reader.readline() != null)nr.settext(temp);reader.close();catch (ioexception e)/e.printstacktrace();nr.settext(文件无法解密!);finallyif (reader != null)tryreader.close();catch (ioexception e) 4.5测试结果4.5.1 选择文件路径结果图3运行

10、程序图4选择加密文件图5 选择加密文件4.5.2 文件加密结果图6 加密后的文件显示4.5.3 解密结果图7 解密后的文件显示4.6 源代码import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;public class swallow extends framejlabel la1;jbutton bt1, bt2, bt3;jtextfield tf1;jtextarea nr;public static void main(string args)new swallow();publi

11、c swallow()this.settitle(java加密和解密);jpanel p1 = new jpanel();la1 = new jlabel(选择文件路径);tf1 = new jtextfield(20);bt1 = new jbutton(浏览.);bt1.addactionlistener(new myjianting1();p1.add(la1);p1.add(tf1);p1.add(bt1);add(p1, borderlayout.north);nr = new jtextarea();add(nr, borderlayout.center);bt2 = new jb

12、utton(加密);bt2.addactionlistener(new myjianting2();bt3 = new jbutton(解密);bt3.addactionlistener(new myjianting3();jpanel p2 = new jpanel();jpanel p3 = new jpanel();p3.add(bt2);p3.add(bt3);p2.add(p3);add(p2, borderlayout.south);setsize(500, 400);setlocation(200, 200);setvisible(true);this.addwindowlist

13、ener(new myclosing();class myclosing extends windowadapterpublic void windowclosing(windowevent e)setvisible(false);system.exit(0);class myjianting1 implements actionlistenerpublic void actionperformed(actionevent e)jfilechooser fc = new jfilechooser(); / 实例化文件选择器fc.setfileselectionmode(jfilechooser

14、.files_and_directories); / 设置文件选择模式,此处为文件和目录均可if (fc.showopendialog(swallow.this) = jfilechooser.approve_option) / 弹出文件选择器,并判断是否点击了打开按钮string filename = fc.getselectedfile().getabsolutepath(); / 得到选择文件或目录的绝对路径tf1.settext(filename);class myjianting2 implements actionlistenerpublic void actionperforme

15、d(actionevent event)swallow1 sw = new swallow1();trysw.open(); sw.password();sw.showfilecontent();catch(ioexception e)nr.settext(文件不能打开!);class myjianting3 implements actionlistenerpublic void actionperformed(actionevent event)swallow1 sw = new swallow1();trysw.open(); sw.password();sw.showfileconte

16、nt();catch (ioexception e)nr.settext(文件解密有误!);public class swallow1private file file;byte buf;randomaccessfile raf,raf1;public swallow1()file = new file(tf1.gettext();buf = new byte(int)file.length();public void open() throws filenotfoundexceptionraf = new randomaccessfile(file, rw); raf1 = new rand

17、omaccessfile(“加密后的文件.txt”, rw);public void password() throws ioexceptionraf.read(buf);for (int i = 0; i buf.length; i+)bufi = (byte)(bufi);raf.seek(0);raf1.write(buf);public void showfilecontent()file file = new file(“加密后的文件.txt”);bufferedreader reader = null;tryreader = new bufferedreader(new filereader(file);string temp = null;while (temp = reader.readline() != null)nr.settext(temp);reader.close();catch (ioexception e)/e.printstacktrace();nr.settext(文件无法解密!);finallyif (reader != null)tryreader.close();catch (ioexception e) 5 总结与展望通过此次课程设计,将

温馨提示

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

评论

0/150

提交评论