A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨曾荣 中级黑马   /  2012-2-23 11:38  /  1118 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class ClassLoaderAttrment extends Date{


        public String toString(){
                return "我要去黑马";
        }
}
public class MyClassLoader extends ClassLoader {

        public static void main(String[] args) throws IOException {

                String srcPath = args[0];
                String desDir = args[1];
                FileInputStream fis = new FileInputStream(srcPath);
                String desFileName = desDir.substring(desDir.lastIndexOf('\\') + 1);
                String desPath = desDir + "\\" + desFileName;
                FileOutputStream fos = new FileOutputStream(desPath);
                cypher(fis, fos);
                fos.close();
                fis.close();
        }

        public static void cypher(InputStream ips, OutputStream ops)
                        throws IOException {

                int b = -1;
                while (ips.read() != -1) {
                        ops.write(b ^ 0xff);
                }
        }

        private String classDir;
       
        @SuppressWarnings("deprecation")
        @Override
        protected Class<?> findClass(String name) throws ClassNotFoundException {
                String classFileName = classDir + "\\" + name + ".class";
                try {
                        FileInputStream fis = new FileInputStream(classFileName);
                        ByteArrayOutputStream bos = new ByteArrayOutputStream();
                        cypher(fis, bos);
                        fis.close();
                        byte[] bytes = bos.toByteArray();
                        return defineClass(name, bytes, 0, bytes.length); //defineClass(bytes, 0, bytes.length);

                } catch (FileNotFoundException e) {
                        e.printStackTrace();
                } catch (IOException e) {
                        e.printStackTrace();
                }

                return super.findClass(name);
        }
我的项目下面有个file文件夹,我是想把这个ClassLoaderAttrment 加密后放到file文件夹中,但是在运行的时候,我的file文件夹里出现了一个叫file的文本,代码错在哪里了

未命名.jpg (31.35 KB, 下载次数: 10)

运行配置

运行配置

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马