2018年7月25日
今天主要的案例是,IO流,数据的读入和写出。还有加密和解密。
IO操作的三步骤,第一步,定位,第二步,创建管道,第三步,操作管道。
产生秘钥文件代码:
import java.io.*;
public class MyKey{
public static void main(String args[]){
try{
//location
File outFile=new File("C:/Users/Administrator/Desktop/code/day8/key.txt");
//create channel
FileOutputStream fos=new FileOutputStream(outFile);
//operating channel
for(int i=0;i<128;i++){
System.out.print(i);
fos.write((int)(Math.random()*128));
}
}catch(Exception e){}
}
}
文件加密代码:
import java.io.*;
public class MyEncrypt{
public static void main(String args[]){
try{
//location
File keyFile=new File("C:/Users/Administrator/Desktop/code/day8/key.txt");
File srcFile=new File("C:/Users/Administrator/Desktop/code/day8/srctest.txt");
File outFile=new File("C:/Users/Administrator/Desktop/code/day8/encryptest.txt");
//create channel
FileInputStream fisKey=new FileInputStream(keyFile);
FileInputStream fisSrc=new FileInputStream(srcFile);
FileOutputStream fos=new FileOutputStream(outFile);
//operating channel
int lenKey=fisKey.available();
int lenSrc=fisSrc.available();
int keyB[]=new int[lenKey];
for(int i=0;i
keyB[i]=fisKey.read();
//System.out.println(fisKey.read());
}
for(int i=0;i
//System.out.print(keyB[i%128]);
fos.write(fisSrc.read()+keyB[i%128]);
}
}catch(Exception e){}
}
}
文件解密代码:
import java.io.*;
public class MyDecrypt{
public static void main(String args[]){
try{
//location
File enFile=new File("C:/Users/Administrator/Desktop/code/day8/encryptest.txt");
File keyFile=new File("C:/Users/Administrator/Desktop/code/day8/key.txt");
File deFile=new File("C:/Users/Administrator/Desktop/code/day8/detest.txt");
//create channel
FileInputStream fisKey=new FileInputStream(keyFile);
FileInputStream fisDe=new FileInputStream(enFile);
FileOutputStream fos=new FileOutputStream(deFile);
//operating channel
int keyLen=fisKey.available();
int enLen=fisDe.available();
int key[]=new int[keyLen];
for(int i=0;i
key[i]=fisKey.read();
}
for(int i=0;i
fos.write(fisDe.read()-key[i%128]);
}
}catch(Exception e){}
}
}