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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

谢玉成

中级黑马

  • 黑马币:0

  • 帖子:50

  • 精华:0

© 谢玉成 中级黑马   /  2013-3-10 13:53  /  1077 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class Demo1 {
    /*
     * 类加载器分类
     *  1.引导类加载器 (只加载 java自己的类,因它是C语言写的获取不到,java保护起来)
       *  2.扩展类加载器  (只加载扩展类(jre/lib/ext目录下的类))
     *  3.系统类加载器  (只有当 引导和扩展加载去都加载不到的类,系统加载器加载,(自己定义的类))
     */
    @Test
    public void fun1(){
      //E:/WEB/XMLTest/sday_01/bin/stu.xml 获取bin目录下的 // 即使src目录下的
      String path = Demo1.class.getClassLoader().getResource("stu.xml").getPath();
      
     ///E:/WEB/XMLTest/sday_01/bin/cn/test/stu.xml 获取同一个目录下的
      String url = Demo1.class.getResource("stu.xml").getPath();
      
      System.out.println(path);
      System.out.println(url);
   
    }
   
   //静态方法中
    @Test
    public static void fun2(){
        //当前线程对象 Thread.currentThread().getContextClassLoader() 当前上下文的加载器,即系统加载器
        //Thread.currentThread().getContextClassLoader().getResource("stu.xml").getPath();
        //获取同一目录下的
        URL url = Thread.currentThread().getContextClassLoader().getResource("stu.xml");
        
        String path = url.getPath();

        System.out.println(path); //E:/WEB/XMLTest/sday_01/bin/stu.xml
    }

     // 疑问1. 类加载器怎么只能加载src目录下的资源文件,如果跟src同级目录怎么就获取不到了,或者有其他方法?
               2. 为什么src下有的资源文件会自动映射一份到bin里面,而在src外面的却没有,难道是src里的是源文件,经过编译后,要运行的文件都在bin目录下,在src下的资源文件,java也自己copy了一份到bin目录的相关位置....
   
      有点晕@@。。。。。求解释一下下....







评分

参与人数 1技术分 +2 收起 理由
张文 + 2

查看全部评分

2 个回复

倒序浏览
{:soso_e132:}
回复 使用道具 举报
{:soso_e127:}没人回...
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马