给main方法传递参数,加密class文件

时间:2021-09-25 21:26:03
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文件夹中。

给main方法传递参数,加密class文件给main方法传递参数,加密class文件

给main方法传递参数,加密class文件