package com.interview.classLoader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
/**
* 加密class文件
* @author dhh
*
*/
public class MyClassLoader{
public static void main(String[] args) throws Exception{
String srcPath = args[0];
String destDir = args[1];//参数,在运行时配置参数
InputStream input = new FileInputStream(srcPath);
String destPath= destDir + "\\" + srcPath.substring(srcPath.lastIndexOf("\\"));
OutputStream output = new FileOutputStream(destPath);
enCode(input,output);
input.close();
output.close();
}
/**
* 简单加密解密算法
* @param input
* @param output
*/
public static void enCode(InputStream input,OutputStream output) throws Exception{
int len = 0 ;
while((len=input.read())!=-1){
output.write(len^ 0xff);
}
}
}
听课笔记:
给main函数传递参数:
在运行前,给main函数传递参数,从项目目录中找到编译器已经编译好的enPackage.class,
利用IO流方式加密后写入到myclass文件夹中。