文件加密解密(个人作业)
2015-04-27 16:06 徐旭东Nic 阅读(704) 评论(4) 编辑 收藏 举报
一、标题
文件加密解密
二、代码地址
https://github.com/XUXUDONGNIC/wenjianjiamijiemi/blob/master/wenjianjiamijiemi.md
三、实践目的
1.掌握Java常用基础类API。
2.掌握输入输出流常用类API。
3.掌握Java异常处理。
四、实践要求
利用Java常用基础类API、输入输出流常用类API、Java异常处理等完成所选项目的程序设计。
五、项目需求
所选项目名称:文件的加密解密
首先,给定任意一个文本文件,进行加密,生成另一个文件。然后对加密后的文件还原。要求进行异常处理。
六、核心算法详细设计 ,
mainframe类;myframe类。其中Myframe类继承Frame类;可以扩展Frame的功能并且可以实例化的多种功能,这个类也实现了ActionListener这个接口,它是Java中关于事件处理的一个接口,ActionListener用于接收操作事件的侦听器接口。对处理操作事件感兴趣的类可以实现此接口,而使用该类创建的对象可使用组件的 addActionListener 方法向该组件注册。在发生操作事件时,调用该对象的 actionPerformed 方法。
七、使用说明与运行结果截图
使用说明:说明成功运行的相关配置(需要的用户名、密码;如何配置运行环境;相关资源文件等)。如:运行程序,根据提示输入每回合题目数量; 然后开始做题,题目数量是之前用户定义的数量,每道题目结束都会显示正确与否,错误还会显示正确答案;当指定的题目数量做完结束后,会显示最终成绩,成绩以整数显示。
运行结果截图:
八、实践总结
在整个Java.io包中最重要的就是5个类和一个接口。5个类指的是File、OutputStream、InputStream、Writer、Reader;一个接口指的是Serializable.掌握了这些IO的核心操作那么对于Java中的IO体系也就有了一个初步的认识了
1. Java I/O主要包括如下几个层次,包含三个部分:
1.流式部分――IO的主体部分;
2.非流式部分――主要包含一些辅助流式部分的类,如:File类、RandomAccessFile类和FileDescriptor等类;
3.其他类--文件读取部分的与安全相关的类,如:SerializablePermission类,以及与本地操作系统相关的文件系统的类,如:FileSystem类和Win32FileSystem类和WinNTFileSystem类。
2. 主要的类如下:
1. File(文件特征与管理):用于文件或者目录的描述信息,例如生成新目录,修改文件名,删除文件,判断文件所在路径等。
2. InputStream(二进制格式操作):抽象类,基于字节的输入操作,是所有输入流的父类。定义了所有输入流都具有的共同特征。
3. OutputStream(二进制格式操作):抽象类。基于字节的输出操作。是所有输出流的父类。定义了所有输出流都具有的共同特征。
3. InputStream 和OutputStream
read():从流中读入数据
skip():跳过流中若干字节数
available():返回流中可用字节数
mark():在流中标记一个位置
reset():返回标记过得位置
markSupport():是否支持标记和复位操作
close():关闭流
int read()
从输入流中读一个字节,形成一个0~255之间的整数返回(是一个抽象方法)。
int read(byte b[])l
读多个字节到数组中。
int read(byte b[], int off, int len)
write(int b)
将一个整数输出到流中(只输出低位字节,抽象)
write(byte b[])
将字节数组中的数据输出到流中
write(byte b[], int off, int len)
将数组b中从off指定的位置开始,长度为len的数据输出到流中
flush():刷空输出流,并将缓冲区中的数据强制送出
close():关闭流
从输入流中读取长度为len的数据,写入数组b中从索引off开始的位置,并返回读取得字节数。进行I/O操作时可能会产生I/O例外,属于非运行时例外,应该在程序中处理。如:型FileNotFoundException, EOFException, IOException
4. 文件操作
File类
File类声明如下:
public class File ectends Object implements Serializable,Comparable
构造方法:
public File(String pathname)
public File(File patent,String chile)
public File(String patent,String child)
文件名的处理
String getName( ); //得到一个文件的名称(不包括路径)
String getPath( ); //得到一个文件的路径名
String getAbsolutePath( );//得到一个文件的绝对路径名
String getParent( ); //得到一个文件的上一级目录名
String renameTo(File newName); //将当前文件名更名为给定文件的完整路径
文件属性测试
boolean exists( ); //测试当前File对象所指示的文件是否存在
boolean canWrite( );//测试当前文件是否可写
boolean canRead( );//测试当前文件是否可读
boolean isFile( ); //测试当前文件是否是文件(不是目录)
boolean isDirectory( ); //测试当前文件是否是目录
普通文件信息和工具
long lastModified( );//得到文件最近一次修改的时间
字串1
long length( ); //得到文件的长度,以字节为单位
boolean delete( ); //删除当前文件
目录操作
boolean mkdir( ); //根据当前对象生成一个由该对象指定的路径
String list( ); //列出当前目录下的文件