Class.getResource,ClassLoader.getResource 和 System.getProperty("user.dir")的对比
2016-11-22 15:43
881 查看
本文将从两个方面对比,一个是在工程中运行,一个是打成jar包运行
1.在工程中运行
2.打成jar包运行
可运行jar包
作为第三方jar包,供其他工程调用
总结:1.class.getResource(String path)
1.在工程中运行
2.打成jar包运行
可运行jar包
作为第三方jar包,供其他工程调用
总结:1.class.getResource(String path)
path不以’/'开头时,默认是从此类所在的包下取资源; path 以’/'开头时,则是从ClassPath根下获取;
2.Class.getClassLoader().getResource(String path)
path不能以’/'开头时; path是从ClassPath根下获取;
此方法不仅会扫描本工程下的classpath路径下的文件,还会扫描jar包中的文件
3.System.getProperty("user.dir") 为用户当前的工作目录。如果一个工程作为一个独立的服务运行,经常用此属性获取指定文件夹下的 配置文件,例如System.getProperty("user.dir") +“/conf/service.properties”;如果一个工程作为第三方jar包提供服务则最好用
Class.getClassLoader().getResource(String path)来读取配置信息。
相关文章推荐
- Java中获取classpath路径下的资源文件【ClassLoader.getSystemResource("")获取当前ClassPath的绝对URI路径,还可以以流的形式获取文件】
- System.getProperty("user.dir") 和File.separator的用法
- Thread.currentThread().getContextClassLoader().getResourceAsStream("myConfig.xml"));//在src下寻找myC
- java 路径、className.class.getResourceAsStream()、ClassLoader.getSystemResourceAsStream() 、FileInputStream
- eclipse中的System.getProperty("user.dir")
- System.getProperty("user.dir")方法
- 获得程序当前路径System.getProperty("user.dir")
- className.class.getResourceAsStream()与ClassLoader.getSystemResourceAsStream() 的区别
- System.getProperty("user.dir")
- 获得程序当前路径System.getProperty("user.dir");
- eclipse中的System.getProperty("user.dir")
- getClassLoader().getSystemResource()在jsp中的问题
- java获取服务器、工程路径等相关信息System.getProperty("user.dir")
- 【JAVA学习】读取文件getClassLoader().getResourceAsStream("xxx")
- 使用class.getClassLoader().getResource("")的注意事项
- ClassLoader.getResource 和ClassLoader.getSystemResourceAsStream
- System.getProperties("user.dir")获得系统属性
- java 语言中System.getProperty("user.dir")
- 关于System.getProperty("user.dir")的研究
- System.getProperty("user.dir"); 获得系统属性