一、说明

ClassLoader提供了两个方法用于取得装载的类路径和取得其中的资源:

public URLgetResource(String name);//得到的一个URL对象来定位资源

public InputStreamgetResourceAsStream(String name);//取得该资源输入流的引用

注意:这里name是资源相对于类的路径,即相对于"/"根路径下的位置


二、示例

1、获取当前class文件所在位置的绝对路径

代码:this.getClass().getResource("").getPath();

结果:/D:/Works/JavaTest/PathTest/bin/com/xilen/test


2、获取classpath的绝对路径

代码:this.getClass().getResource("/").getPath();

结果:/D:/JWorks/JavaTest/PathTest/bin/


3、通过线程的方式获取classpath的绝对路径

代码:Thread.currentThread().getContextClassLoader().getResource("").getPath();

结果:/D:/Works/JavaTest/PathTest/bin/


4、通过ClassLoader的静态方法获取classpath的绝对路径

代码:ClassLoader.getSystemResource("").getPath();

结果:/D:/Works/JavaTest/PathTest/bin/


5、补充:得到Web应用程序的根目录的绝对路径

代码:ServletActionContext.getServletContext().getRealPath(“/”);

结果:/D:/Server/apache-tomcat-7.0.42/webapps/WebTest


三、注意

1、getResource()和getResourceAsStream()是成对出现的

2、经过ClassLoader获取的默认已经是根路径,不能再传入"/"参数

更多相关文章

  1. JAVA 关于图片上传的代码
  2. 线程“main”中的异常java.lang.RuntimeException:无法编译的源代
  3. java 和 C 代码运行效率的比较(整理)
  4. Java:IntelliJ想法生成的代码错误地为所有Class名称添加了其包名
  5. 求一段与读取数据库数据,写入一个数组的javascript 代码!谢谢!!
  6. java动态编译 (java在线执行代码后端实现原理)
  7. java SSH员工管理系统以及Demo代码下载
  8. JavaScript 面向对象编程,严格过程的标准化编程法,目前为止最好的
  9. 8/人天,小记一次 JAVA(APP后台) 项目改造 .NET 过程(后台代码已完整

随机推荐

  1. 无法安装ADT(无法访问https://dl-ssl.goog
  2. SystemServer
  3. Fedora 12安装Android SDK
  4. android 呼吸灯实现源码
  5. Android中使用 MediaExtractor 和 MediaM
  6. Android(安卓)SDK 4.0.3 开发环境配置及
  7. android am命令
  8. Android 经典示例,初学者的绝好源码资料
  9. shape的使用
  10. Android进入页面默认不弹出软键盘