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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 傅宇 中级黑马   /  2013-3-13 10:24  /  1095 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. 1这几句话详细解释一下?
  2.                 String srcPath = args[0];
  3.                 String destDir = args[1];
  4.                 FileInputStream fis = new FileInputStream(srcPath);
  5.                 String destFileName = srcPath.substring(srcPath.lastIndexOf('\\')+1);
  6.                 String destPath = destDir + "\\" + destFileName;
  7.                 FileOutputStream fos = new FileOutputStream(destPath);

  8. 2我已经传入String srcPath = args[0];String destDir = args[1];这两个参数如下:
  9. E:\java0108\workspace\MyEclipse 10\javaenhance\bin\cn\itcast\day2\ClassLoaderAttachment.class    itcastlib
  10. 我怎么还抛出这个异常java.io.FileNotFoundException呢?
  11. */
  12. public class MyClassLoader extends ClassLoader{

  13.         /**
  14.          * @param args
  15.          */
  16.         public static void main(String[] args) throws Exception {
  17.                 // TODO Auto-generated method stub
  18.                 String srcPath = args[0];
  19.                 String destDir = args[1];
  20.                 FileInputStream fis = new FileInputStream(srcPath);
  21.                 String destFileName = srcPath.substring(srcPath.lastIndexOf('\\')+1);
  22.                 String destPath = destDir + "\\" + destFileName;
  23.                 FileOutputStream fos = new FileOutputStream(destPath);
  24.                 cypher(fis,fos);
  25.                 fis.close();
  26.                 fos.close();
  27.         }
  28.        
  29.         private static void cypher(InputStream ips ,OutputStream ops) throws Exception{
  30.                 int b = -1;
  31.                 while((b=ips.read())!=-1){
  32.                         ops.write(b ^ 0xff);
  33.                 }

  34.         }


  35. Exception in thread "main" java.io.FileNotFoundException: E:\java0108\workspace\MyEclipse (系统找不到指定的文件。)
  36.         at java.io.FileInputStream.open(Native Method)
  37.         at java.io.FileInputStream.<init>(FileInputStream.java:138)
  38.         at java.io.FileInputStream.<init>(FileInputStream.java:97)
  39.         at cn.itcast.day2.MyClassLoader.main(MyClassLoader.java:19)
复制代码

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

1 个回复

倒序浏览
1这几句话详细解释一下?
                String srcPath = args[0];
                String destDir = args[1];
               //建立一个输入流,并联关到E:\java0108\workspace\MyEclipse 10\javaenhance\bin\cn\itcast\day2\ClassLoaderAttachment.class   
                FileInputStream fis = new FileInputStream(srcPath);
              System.out.println(srcPath);//打印下路径,看是否正确
            //E:\java0108\workspace\MyEclipse 10\javaenhance\bin\cn\itcast\day2\ClassLoaderAttachment.class 从最一个\符号下标加1的位置起获取子串,
             //也就是文件名
  :ClassLoaderAttachment.class
                String destFileName = srcPath.substring(srcPath.lastIndexOf('\\')+1);
              //获取ClassLoaderAttachment.class 在工程下的相对路径,作为文件输出目录
                String destPath = destDir + "\\" + destFileName;
                FileOutputStream fos = new FileOutputStream(destPath);//
2我已经传入String srcPath = args[0];String destDir = args[1];这两个参数如下:
E:\java0108\workspace\MyEclipse 10\javaenhance\bin\cn\itcast\day2\ClassLoaderAttachment.class    itcastlib
我怎么还抛出这个异常java.io.FileNotFoundException呢?
*/
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);
                }
        }
查看一下这个路径E:\java0108\workspace\MyEclipse 10\javaenhance\bin\cn\itcast\day2\有没有这个文件,ClassLoaderAttachment.class      
Exception in thread "main" java.io.FileNotFoundException: E:\java0108\workspace\MyEclipse (系统找不到指定的文件。)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(FileInputStream.java:138)
        at java.io.FileInputStream.<init>(FileInputStream.java:97)
        at cn.itcast.day2.MyClassLoader.main(MyClassLoader.java:19)

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马