通过IO流对文件进行加密和解密(^)
对输入的信息进行加密处理
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class IOEncryptByte {
publicstatic void main(String[] args) throws IOException {
//创建一个FileOutStream对象,并将需要加密的文件放入其中
FileOutputStream out= new FileOutputStream("d:\\加密.txt");
//将加密的信息转换成字节数组
byte[]b="我要加密".getBytes();
//对每个字节进行^处理
for(inti=0;i<b.length;i++){
b[i]=(byte)(b[i]^'S');
}
//再将加密处理后的字节写入文件中
out.write(b);
//关闭IO流
out.close();
}
}
对文件进行解密处理
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class IODeciphering {
publicstatic void main(String[] args) throws IOException {
//获得FileInputStream对象,并将需要解密的文件放入
FileInputStream in=new FileInputStream("d:\\加密.txt");
FileOutputStream out= newFileOutputStream("d:\\解密.txt");
//定义一个字节数组,用于存放每次读取的信息
bytech[]=new byte[1024];
//定义一个int变量,存放读取出来的信息
intn=0;
//定义一个String对象,存放解密后的内容
Stringcontext=null;
//判断是否读取结束
while((n=in.read(ch,0,ch.length))!=-1){
//遍历字节数组,将每个字节进行^处理,进行解密
for(inti=0;i<ch.length;i++){
ch[i]=(byte)(ch[i]^'S');
}
//将解密成功后的字节数组转换成字符串
context=newString(ch,0,n)
//将解密后的内容转换成字节数组,并存放到解密后的文件中
out.write(context.getBytes());
}
//输出解密的内容
System.out.println(context);
//关闭输入流
out.close();
}
}