我们在一个类里如何获取到当前类的路径,又如何获取当前工程的路径?话不多说,上代码,自己看
1 package com.chavez.demo; 2 3 public class SimpleDemo { 4 public static void main(String[] args){ 5 String xmlpath=Thread.currentThread().getContextClassLoader().getResource("vod.xml").getPath().substring(1); 6 String rootpath=SimpleDemo.class.getResource("").getPath().substring(1); 7 System.out.println(rootpath); 8 System.out.println(xmlpath); 9 }10 11 }运行输出:F:/workspace/class/MyEclpise/Demo/bin/com/chavez/demo/
F:/workspace/class/MyEclpise/Demo/bin/vod.xml
说明:
该工程在 F:/workspace/class/MyEclpise/Demo/下,SRC文件夹里有一文件 vod.xml,工程里有一个包com.chavez.demo,包里只有 一个主类 SimpleDemo
分析:
SimpleDemo.class.getResource("")返回当前类路径的URL,如果带上文件名参数,则返回该文件的URL,getPath()是URL类的一个方法,用于获取URL的路径(String型),subString(1)则是为了去除路径开头的"/"字符。
Thread.currentThread().getContexClassLoader(),返回当前类加载器,该加载器用于加载类与资源,它代表了工程的路径,getResource("")方法用于获取其下
资源,后面的方法与上类似。
转载于:https://www.cnblogs.com/magicbill/archive/2011/09/19/2181646.html
