项目路径

2019-05-28  本文已影响0人  huapro
public static String getProperties(String keyWord) {
    InputStream is = Log4jInitializer.class.getClassLoader().getResourceAsStream(Constants.LOG4J_PATH);
        BufferedReader br = new BufferedReader(new InputStreamReader(is, Charset.forName("utf-8")));
        Properties properties = new Properties();
        try {
            properties.load(br);
            PropertyConfigurator.configure(properties);

        } catch (IOException e) {
            e.printStackTrace();
        }
}

获取项目根路径的方法
···

import java.io.File;
import java.io.IOException;
import java.net.URL;

public class MyUrlDemo {

 public static void main(String[] args) {
     MyUrlDemo muDemo = new MyUrlDemo();
     try {
         muDemo.showURL();
     } catch (IOException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
     }
 }

 public void showURL() throws IOException {

     // 第一种:获取类加载的根路径   D:\git\daotie\daotie\target\classes
     File f = new File(this.getClass().getResource("/").getPath());
     System.out.println(f);

     // 获取当前类的所在工程路径; 如果不加“/”  获取当前类的加载目录  D:\git\daotie\daotie\target\classes\my
     File f2 = new File(this.getClass().getResource("").getPath());
     System.out.println(f2);

     // 第二种:获取项目路径    D:\git\daotie\daotie
     File directory = new File("");// 参数为空
     String courseFile = directory.getCanonicalPath();
     System.out.println(courseFile);


     // 第三种:  file:/D:/git/daotie/daotie/target/classes/
     URL xmlpath = this.getClass().getClassLoader().getResource("");
     System.out.println(xmlpath);


     // 第四种: D:\git\daotie\daotie
     System.out.println(System.getProperty("user.dir"));
     /*
      * 结果: C:\Documents and Settings\Administrator\workspace\projectName
      * 获取当前工程路径
      */

     // 第五种:  获取所有的类路径 包括jar包的路径
     System.out.println(System.getProperty("java.class.path"));

 }

}
···

获取资源路径问题
 URL xmlpath1 = TestClassLoad.class.getClassLoader().getResource("");//加载项目根路径
  System.out.println(xmlpath1);
  URL xmlpath2 = TestClassLoad.class.getClassLoader().getResource("/");  //错误的加载方法
  System.out.println(xmlpath2);


  URL xmlpath3= TestClassLoad.class.getResource("");//加载类路径
  System.out.println(xmlpath3);
  URL xmlpath4= TestClassLoad.class.getResource("/");//加载项目根路径
  System.out.println(xmlpath4);

打印结果:

file:/Users/yanglihua/MyFile/Package/MyJavaLearn/Java%e5%9f%ba%e7%a1%80/JavaProxy/target/classes/
null
file:/Users/yanglihua/MyFile/Package/MyJavaLearn/Java%e5%9f%ba%e7%a1%80/JavaProxy/target/classes/com/ClassLoderPath/Path1/Path2/
file:/Users/yanglihua/MyFile/Package/MyJavaLearn/Java%e5%9f%ba%e7%a1%80/JavaProxy/target/classes/
上一篇 下一篇

猜你喜欢

热点阅读