`

文件I/O流,及浅显加密解密

    博客分类:
  • JAVA
 
阅读更多

             I/O流在文件中尤为重要,尤其是文件中,我们鼠标中让你一天中用到最多的什么

复制,粘贴,剪切,新建,删除,等等都涉及到了文件操作,我们在感叹方便之余是不是也想实现这一功能呢,

其实我们在安装windows时候,这些代码就已经被编好,并且快捷到我们鼠标右键中,方便我们的使用,然而在使用着这些应用时,也想自己做出这样的代码,于是在刚刚学了I/O流之后,就可以动手操作了,在学会了读写之后,就可以添加COPY

也就是复制,粘贴·功能,之后的加密解密就迎刃而解了。

以下是关键代码:

package 文件;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;

public class File {
	
	//实现读的功能
	public void read(String filename){
		try {
			//接收定义文件名为filename的文件,若不存在则报错
			FileInputStream fin=new FileInputStream(filename);
			//一个一个字节去读取文件中的值,此类不适用于汉字
			byte n=(byte)fin.read();
			//当n=-1时,代表已经读到末尾
			while(n!=-1){
				//进行输出
				//System.out.println(n);//此时读出的是每个字符的ASCLL码
				System.out.print((char)n);//此时读出的是原文档文字
				//继续接收
				n=(byte)fin.read();
			}
			//得到输入流的剩余字节数量
			int len = fin.available();
			byte[] bytes = new byte[len];
			//从输入流中读取数据到bytes
			int num = fin.read(bytes);
			
			//GB2312,GBK,UTF-8,ISO-8859-1....
			String content = new String(bytes, "GBK");
			System.out.println(content);

			//记住一定要关闭文件
			fin.close();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	
	//实现写的功能
	public void write(String filename){
		try {
			//将要写入的文件,命为filename,如若不存在,不报错,直接新建
			//所以这也相当于新建功能
			FileOutputStream fout=new FileOutputStream(filename,false);
			fout.write(232);
			String s="";
			byte[] bytes=s.getBytes("GBK");
			fout.write(bytes);					
			fout.close();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	//实现复制粘贴的供能
	public void copy(String filename1,String filename2){
		
		try {
			FileInputStream  f1=new FileInputStream(filename1);
			FileOutputStream f2=new FileOutputStream(filename2);
			int n = f1.read();
			while(n != -1){
				//边读边写
				f2.write(n);
				
				n = f1.read();
			}

		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
	}
	public static void main(String[] args){
		File f=new File ();
		f.read("E:/文件1.txt");
		f.write("E:/write.txt");
		f.copy("E:/文件1.txt", "E:/文件2.txt");
	  //f.copy("E:/Kalimba.mp3", "E:/音乐.mp3");
	}

}

 在读入的时候,java中显示读入的内容是这样的:

 



 我们注意到,凡是注释的地方成为了乱码,这是由于文件读写的时候是一个字节一个字节读的,而汉字是双字节。

之后的复制,粘贴功能截图如下



 复制后内容不变,如下:



 文件加密与解密就可以在如图n上动手脚,例如,n+1,你知道在解密的时候,需要n-1,或者你可以用更复杂的式子,发挥你的数学特长,什么傅里叶,伯努利,泰勒式子都可以往上摆,加强你的加密强度,只有你自己知道如何解密,这就是加密解密的初步思想,当然,这样的界面是不好看的,之后你可以自己设计一个JFrame界面,更加人性化实现文件功能,不止读写,copy,你可以随意添加你想要的功能,也可以设计一个小

word

 

 

 

  • 大小: 18.6 KB
  • 大小: 3.6 KB
  • 大小: 46.9 KB
2
1
分享到:
评论

相关推荐

    [加密与解密.第二版].pdf

    本书全面讲述了Windows平台下的最新软件加密与解密技术及相关解决方案,采用循序渐进的方式,从基本的跟踪调试到深层的拆解脱壳,从浅显的注册码分析到商用软件保护,几乎囊括了Windows下的软件保护的绝大多数内容。...

    加密与解密(第二版) 看雪学院出版 第1部分

    本书全面讲述了Windows平台下的最新软件加密与解密技术及相关解决方案,采用循序渐进的方式,从基本的跟踪调试到深层的拆解脱壳,从浅显的注册码分析到商用软件保护,几乎囊括了Windows下的软件保护的绝大多数内容。...

    加密与解密(第二版) 看雪学院出品 第2部分

    本书全面讲述了Windows平台下的最新软件加密与解密技术及相关解决方案,采用循序渐进的方式,从基本的跟踪调试到深层的拆解脱壳,从浅显的注册码分析到商用软件保护,几乎囊括了Windows下的软件保护的绝大多数内容。...

    加密与解密 第二版 1

    本书全面讲述了Windows平台下的最新软件加密与解密技术及相关解决方案,采用循序渐进的方式,从基本的跟踪调试到深层的拆解脱壳,从浅显的注册码分析到商用软件保护,几乎囊括了Windows下的软件保护的绝大多数内容。...

    加密与解密II(PDF)

    采用循序渐进方式,从基本的跟踪调试到深层的拆解脱壳,从浅显的注册码分析到加密算法及商用软件保护,这520页的一部书,几乎囊括了Windows软件保护的绝大多数内容。 本书共分三个部分。第一部分介绍与加密和解密...

    加密与解密(第二版) 配套光盘

    本书全面讲述了Windows平台下的最新软件加密与解密技术及相关解决方案,采用循序渐进的方式,从基本的跟踪调试到深层的拆解脱壳,从浅显的注册码分析到商用软件保护,几乎囊括了Windows下的软件保护的绝大多数内容。...

    [加密与解密.第二版].part3.rar

    本书全面讲述了Windows平台下的最新软件加密与解密技术及相关解决方案,采用循序渐进的方式,从基本的跟踪调试到深层的拆解脱壳,从浅显的注册码分析到商用软件保护,几乎囊括了Windows下的软件保护的绝大多数内容。...

    [加密与解密.第二版]part2.rar

    本书全面讲述了Windows平台下的最新软件加密与解密技术及相关解决方案,采用循序渐进的方式,从基本的跟踪调试到深层的拆解脱壳,从浅显的注册码分析到商用软件保护,几乎囊括了Windows下的软件保护的绝大多数内容。...

    [加密与解密.第二版].part4.rar

    本书全面讲述了Windows平台下的最新软件加密与解密技术及相关解决方案,采用循序渐进的方式,从基本的跟踪调试到深层的拆解脱壳,从浅显的注册码分析到商用软件保护,几乎囊括了Windows下的软件保护的绝大多数内容。...

    Delphi AES DES MD5 RSA BASE64等加密算法源码实例集.rar

    包括了Delphi AES DES MD5 RSA BASE64 2DES 3DES Blowfish CRC32-Static SHA等 常用的加密算法用法实例,比较不错的Delphi加密实例代码了,浅显易懂而且实用的常见加密算法实例,包括字符串和文件加密解密等。

    《网络安全 黑客 加密与破解》中文版PDF格式

    全面揭示加密与解密技术!采用循序渐进方式,从基本的跟踪调试到深层的拆解脱壳,从浅显的注册码分析到加密算法及商用软件保护。

    C语言使用openSSL库AES模块实现加密功能详解

    1.对称加密/解密 对称加密比较常见的有DES/AES。加密方和解密方都持有相同的密钥。对称的意思就是加密和解密都是用相同的密钥。 2.非对称加密/解密 常见的加密算法DSA/RSA。如果做过Google Pay的话,应该不会陌生。...

    能实现MD5验证完整性,RSA加密消息,数据库进行登录验证的局域网聊天软件

    程序包含一个生成字符的MD5和根据路径读文件生成MD5的功能,也有一个输入数字通过RSA加解密的功能。 MD5和RSA实现较为简单,但是用户可以根据自己的需要去进行修改,毕竟已经在Qt实现了,代码也浅显易懂。 注意:并...

    Security-RSA.zip_rsa

    教你如何浅显易懂的使用rsa加密解密~容易使用,容易移植

Global site tag (gtag.js) - Google Analytics