前几天在写一个C/S的小工具,使用class.getClassLoader().getResource("")时,发现一个问题,程序如下:

package  com.syj;

public   class  ClassLoaderTest {
     public   static   void  main(String[] args){
        String classPath1  =  ClassLoaderTest. class .getClassLoader().getResource(
                 " config.ini " ).toString();
        System.out.println( " classPath1: "   +  classPath1);
        String classPath2  =  ClassLoaderTest. class .getClassLoader().getResource(
                 "" ).toString();
        System.out.println( " classPath2: "   +  classPath2);
    }
}

打成jar包test.jar后
执行
java -jar test.jar
pause

执行结果
classPath1:jar:file:/D:/DEV.WORK/works_acnt/Test/test.jar!/config
Exception in thread "main" java.lang.NullPointerException
        at com.syj.ClassLoaderTest.main(ClassLoaderTest.java:9)

执行
set CLASSPATH=%CLASSPATH%;test.jar;
java com.syj.ClassLoaderTest
pause

执行结果
classPath1:file:/D:/DEV.WORK/works_acnt/Test/config.ini
classPath2:file:/D:/DEV.WORK/works_acnt/Test/

不难发现当使用java -jar test.jar启动程序时可以getResource一个具体文件是没有问题的但是getResource("")就会出问题,要把这个jar放

到ClassPath里面才行
可见用java -jar test.jar启动程序时程序并不知道当前这个test.jar的绝对路径

使用class.getClassLoader().getResource()的注意事项相关推荐

  1. Class.getResource()与Class.getClassLoader().getResource()解析

    我们在eclipse上写的.java文件最终会被编译成一个.class的字节码文件.而java源文件存储在src文件下,而编译后的.class字节码文件存储在bin文件下. 一. 通过Class.ge ...

  2. class.getClassLoader().getResource(xxx)是什么意思啊?最后这个xxx和这个类有什么关系?...

    http://zhidao.baidu.com/link?url=N5uieIh4DUdPn0qHq5f2KXWpHUik1eEeW1ttrowqRiqcRPipludkf8NmPKWcwwGsfPL ...

  3. Class.getResource()、ClassLoader.getResource()和this.class.getClassLoader()解析

    this.class.getClassLoader()解析 java是面向对象语言,面向对象的语言的宗旨就是万事万物皆对象,那么类.类里面的属性和方法都是对象.java里面的所有的类都是Class类的 ...

  4. 关于Class.getResource和ClassLoader.getResource的路径问题

    本文转自:http://www.cnblogs.com/yejg1212/p/3270152.html Java中取资源时,经常用到Class.getResource和ClassLoader.getR ...

  5. JAVA class.getResource()的用法

    用JAVA获取文件,听似简单,但对于很多像我这样的新人来说,还是掌握颇浅,用起来感觉颇深,大常最经常用的,就是用JAVA的File类,如要取得c:/test.txt文件,就会这样用File file ...

  6. this.class.getClassLoader().getResourceAsStream与this.class.getResourceAsStream

    本文部分转自:http://xixinfei.iteye.com/blog/1256291 this.getClass().getClassLoader().getResource("tem ...

  7. log4j用于读取.xml文件的出现了错误,类加载器.getResource(user.xml).getPath()返回路径空格变成了%20...

    最近在训练web的三层开发模式,写了一个小程序,为了模拟数据库,用了xml来进行存放数据,因此需要将xml文件装载到内存中去,代码如下 private static String fileName;s ...

  8. Java文件路径(getResource)

    getResourceAsStream ()返回的是inputstream getResource()返回:URL Class.getResource("")    返回的是当前C ...

  9. java中Class.getResource用法(用于配置文件的读取)

    用JAVA获取文件,听似简单,但对于很多像我这样的新人来说,还是掌握颇浅,用起来感觉颇深,大常最经常用的,就是用JAVA的File类,如要取得c:/test.txt文件,就会这样用File file ...

最新文章

  1. sea.js学习网址和书籍
  2. Swift中@IBDesignable/@IBInspectable的使用
  3. 显卡驱动程序卸载以及安装
  4. 蛋疼的ElasticSearch(一)之安装ElasticSearch
  5. Javascript之预加载图片
  6. Pandas数据类型及操作
  7. JavaScript返回上一页并刷新的多种实现方法(十八)
  8. 职业生涯最差绩效:M-
  9. kakfa学习教程一
  10. Laravel 实现任务调度功能
  11. 飞客蠕虫(Conficker)
  12. RQNOJ 34 紧急援救
  13. PowerApps教程05-记录的搜索和筛选
  14. 无招胜有招-代码解读阿里开源芯片平台无剑100
  15. 小窍门:简历邮箱格式的正确写法,个人简历怎么发送到邮箱?
  16. No silver bullet——没有银弹理论
  17. Storm - Trident
  18. 多媒体个人计算机能处理什么,多媒体计算机可以处理的信息类型有什么?
  19. 编写js代码的注意问题
  20. gitHub客户端Desktop的安装使用总结 ---基础篇

热门文章

  1. android annotations
  2. 高仿钉钉和小米的日历控件
  3. 球谐光照与PRT学习笔记(一):引入
  4. python输入城市名称_python - 使用熊猫一次将多个城市名称格式化为每个城市的通用名称 - 堆栈内存溢出...
  5. 健康老年人静息态EEG的功率和功能连接变化
  6. 微信小程序如何开发购物车的微信支付功能
  7. CTFshow DJBCTF MISC(大吉杯) WP
  8. loadrunner12-错误 -26366: 找不到 web_reg_find 的“Text=19728.00”
  9. JavaScript(四)
  10. 2.4G/5G频段WLAN各国使用信道表