代码改变世界

文件加密解密(个人作业)

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( ); //列出当前目录下的文件