【自己动手写类加载器1】实现加密功能:生成加密class文件,复制到bin目录下,AppClassLoader加载出错

来源:互联网 发布:2炫装修软件 编辑:程序博客网 时间:2024/04/30 05:15

1、写一个加载器用来加载的类、一个测试类

package com.xiaozhi.myclassloader;public class ClassLoaderAttachment {@Overridepublic String toString() {return "hello heima";}}
测试类:

package com.xiaozhi.testmyclassloader;import com.xiaozhi.myclassloader.ClassLoaderAttachment;public class Test {public static void main(String[] args) {System.out.println(new ClassLoaderAttachment().toString());}}


2、实现MyClassLoader的加密功能

package com.xiaozhi.myclassloader;import java.io.FileInputStream;import java.io.FileOutputStream;public class MyClassLoader {public static void main(String[] args) throws Exception{String srcPath = args[0];String destPah = args[1];String fileName = srcPath.substring(srcPath.lastIndexOf("\\") + 1);destPah = destPah +"\\"+fileName;FileInputStream fileInputStream = new FileInputStream(srcPath);FileOutputStream fileOutputStream = new FileOutputStream(destPah);encrypt(fileInputStream, fileOutputStream);}public static void encrypt(FileInputStream fileInputStream,FileOutputStream fileOutputStream) throws Exception{int b = 0;while((b=fileInputStream.read())!=-1){fileOutputStream.write(b^0xff);}fileInputStream.close();fileOutputStream.close();}}
在项目下新建mylib文件夹(用来存放加密的class文件),然后Run Configurations进入以下界面


运行完后,在mylib上按F5刷新,将生成的class文件,复制到bin目录下class文件存放处。再次运行测试类。报错,说明加密成功。



0 0