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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王宝龙 中级黑马   /  2012-10-7 18:15  /  1108 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这是张老师第47个视频的前一部分内容

首先我们定义一个类ClassLoaderAttachment
在工程下面建了itcastlib文件夹。
  1. import java.sql.Date;

  2. public class ClassLoaderAttachment extends Date
  3. {
  4.         public ClassLoaderAttachment(long l)
  5.         {
  6.                 super( l);
  7.         }
  8.         public String toString()
  9.         {
  10.                 return "hello,itcast";
  11.         }
  12. }
复制代码
然后用下面代码将上一个类的.class 文件进行加密
  1. import java.io.FileInputStream;
  2. import java.io.FileOutputStream;
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.io.OutputStream;

  6. public class MyClassLoader
  7. {
  8.         public static void main(String[] args) throws Exception

  9.         {
  10.                 String srcPath =args[0];
  11.                 String destDir = args[1];
  12.                
  13.                 FileInputStream fis = new FileInputStream(srcPath);
  14.                
  15.                 String destFileName = srcPath.substring(srcPath.lastIndexOf('\\')+1);
  16.                 String destPath = destDir + "\\" + destFileName;
  17.                                
  18.                 FileOutputStream fos = new FileOutputStream(destPath);
  19.                
  20.                 cypher(fis,fos);
  21.                
  22.                 fis.close();
  23.                 fos.close();
  24.                 System.out.println(new ClassLoaderAttachment(100).toString());
  25.                
  26.                
  27.         }
  28.         private static void cypher(InputStream ips ,OutputStream ops)
  29.                         throws IOException
  30.         {
  31.                 System.out.println("dfdfd");
  32.                 int b = -1;
  33.                 while((b=ips.read())!=-1)
  34.                 {
  35.                         ops.write(b^0xff);
  36.                         System.out.println("xxx");
  37.                 }
  38.         }
  39. }
复制代码
运行上面的程序使args[0]=D:\ProgramFiles\E_Workspace\Javaenhance\bin\cn\itcast\day2\ClassLoaderAttachment.class
                        args[1] = itcastlib
程序运行都正常连测试的输出  都打印了。
但是唯独itcastlib文件夹下什么都没有!!!!!!我要的那个加密后的.class文件没有
大帮帮忙!!









评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1 赞一个!

查看全部评分

0 个回复

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