java中获取类加载路径和项目根路径的5种方式分析

 更新时间:2013年05月03日 09:25:42   作者:  
本篇文章介绍了,java中获取类加载路径和项目根路径的5种方式分析。需要的朋友参考下
复制代码 代码如下:

package my;

 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"));

     }
 }

相关文章

  • SpringSecurity 默认表单登录页展示流程源码

    SpringSecurity 默认表单登录页展示流程源码

    本篇主要讲解 SpringSecurity提供的默认表单登录页 它是如何展示流程,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧
    2020-01-01
  • 深入浅出Java mvc_动力节点Java学院整理

    深入浅出Java mvc_动力节点Java学院整理

    这篇文章主要为大家详细介绍了MVC的基础知识,MVC是一个框架模式,它强制性的使应用程序的输入、处理和输出分开,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • 聊聊Redis的单线程模型

    聊聊Redis的单线程模型

    Redis是单线程,主要是指Redis的网络IO和读写是由一个线程来完成的,但Redis的其他功能,比如持久化、异步删除、集群数据同步等,其实是由额外的线程执行的。这不是本文讨论的重点,有个印象即可
    2022-12-12
  • spring schedule配置多任务动态cron(增删启停)

    spring schedule配置多任务动态cron(增删启停)

    这篇文章主要介绍了spring schedule配置多任务动态cron(增删启停),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • java调用process线程阻塞问题的解决

    java调用process线程阻塞问题的解决

    这篇文章主要介绍了java调用process线程阻塞问题的解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • 线程池运用不当引发的一次线上事故解决记录分析

    线程池运用不当引发的一次线上事故解决记录分析

    遇到了一个比较典型的线上问题,刚好和线程池有关,另外涉及到死锁、jstack命令的使用、JDK不同线程池的适合场景等知识点,同时整个调查思路可以借鉴,特此记录和分享一下
    2024-01-01
  • Java基础将Bean属性值放入Map中的实例

    Java基础将Bean属性值放入Map中的实例

    这篇文章主要介绍了Java基础将Bean属性值放入Map中的实例的相关资料,需要的朋友可以参考下
    2017-07-07
  • Java多线程产生死锁的必要条件

    Java多线程产生死锁的必要条件

    今天小编就为大家分享一篇关于Java多线程产生死锁的必要条件,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • java伪泛型知识点详解

    java伪泛型知识点详解

    在本篇文章里小编给大家整理的是一篇关于java伪泛型知识点详解内容,有需要的朋友们可以跟着学习参考下。
    2021-06-06
  • Java中浅拷贝和深拷贝详解

    Java中浅拷贝和深拷贝详解

    大家好,本篇文章主要讲的是Java中浅拷贝和深拷贝详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12

最新评论