zoukankan      html  css  js  c++  java
  • ClassLoader

    import java.io.ByteArrayOutputStream;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;

    public class MyClassLoader extends ClassLoader{

     /**
      * @param args
      */
     public static void main(String[] args) throws Exception {
      // TODO Auto-generated method stub
      String srcPath = args[0];
      String destDir = args[1];
      FileInputStream fis = new FileInputStream(srcPath);
      String destFileName = srcPath.substring(srcPath.lastIndexOf('\')+1);
      String destPath = destDir + "\" + destFileName;
      FileOutputStream fos = new FileOutputStream(destPath);
      cypher(fis,fos);
      fis.close();
      fos.close();
     }
     
     private static void cypher(InputStream ips ,OutputStream ops) throws Exception{
      int b = -1;
      while((b=ips.read())!=-1){
       ops.write(b ^ 0xff);
      }
     }

     private String classDir;

     @Override
     protected Class<?> findClass(String name) throws ClassNotFoundException {
      // TODO Auto-generated method stub
      String classFileName = classDir + "\"  + name.substring(name.lastIndexOf('.')+1) + ".class";
      try {
       FileInputStream fis = new FileInputStream(classFileName);
       ByteArrayOutputStream  bos = new ByteArrayOutputStream();
       cypher(fis,bos);
       fis.close();
       System.out.println("aaa");
       byte[] bytes = bos.toByteArray();
       return defineClass(bytes, 0, bytes.length);
      } catch (Exception e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }
      return null;
     }
     
     public MyClassLoader(){
      
     }
     
     public MyClassLoader(String classDir){
      this.classDir = classDir;
     }
    }

  • 相关阅读:
    Alpha 冲刺 (4/10)
    福大软工1816 · 团队现场编程实战(抽奖系统)
    Alpha 冲刺 (3/10)
    Alpha 冲刺 (2/10)
    Alpha 冲刺 (1/10)
    福大软工 · 第七次作业
    福大软工 · 第八次作业(课堂实战)- 项目UML设计(团队)
    福大软工1816 · 第六次作业
    福大软工1816 · 第五次作业
    福大软工1816 · 第四次作业
  • 原文地址:https://www.cnblogs.com/aukle/p/3228599.html
Copyright © 2011-2022 走看看