美文网首页
项目路径

项目路径

作者: huapro | 来源:发表于2019-05-28 13:37 被阅读0次
    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/
    

    相关文章

      网友评论

          本文标题:项目路径

          本文链接:https://www.haomeiwen.com/subject/sllrtctx.html