背景:程序执行时,会涉及到去读取配置文件等操作,那就需要了解怎么获得文件路径
 

Java目录映射关系

说明一点:在Java代码执行时,会将编译生成的classes文件,以及配置文件等信息生成到target目录下。最终执行的文件实际是target下的class文件
以上图的例子为例:
工程名:zzappqa
工程所在目录:/opt/script/zzappqa
生成的target目录:target
 
下面是一个工程文件到生成的target目录的一个映射关系
zzappqa工程下的文件target下的文件源码java文件classes下的class文件资源文件resourcesclasses下web站点的资源文件webappzzappqa(工程名)
zzappqa工程下的文件 target下的文件
源码java文件 classes下的class文件
资源文件resources classes下
web站点的资源文件webapp zzappqa(工程名)

一般配置文件都是放在资源文件resources下的,综上关系,如果想获得配置文件。只要找到target下的classes目录即可。
 
获取classes目录地址的方法:
this.getClass().getResource("/").getPath() 
 

获取工程目录的方法

说明:web站点,在本地和在tomcat启动时,System.getProperty("user.dir")是不一致的
 
方法 说明
System.getProperty("user.dir")
1、如果是本地执行的,获取的是工程根目录
2、如果是在tomcat中启动的,获得的是tomcat的bin目录
Thread.currentThread().getContextClassLoader().getResource("").toString())
获得java编译文件存放的classes根目录
资源文件resources也在该目录下
this.class.getClassLoader().getResource("").getPath()
同上
获得java编译文件存放的classes根目录
资源文件resources也在该目录下
this.class.getClass().getResource("/").getPath()
同上
获得java编译文件存放的classes根目录
资源文件resources也在该目录下
this.class..getClass().getClassLoader().getResource(".").getPath()
同上
获得java编译文件存放的classes根目录
资源文件resources也在该目录下
this.class.getClass().getResource("/comm").getPath()
获得classes目录下的comm路径
注:如果该路径不存在会抛空指针异常
System.getProperty("java.class.path") 获得java所有类加载路径

Java获取工程目录的更多相关文章

  1. request.getSession().getServletContext().getRealPath("")获取工程目录 路径修改

    使用request.getSession().getServletContext().getRealPath("")获取工程目录. 设置server Locations在serve ...

  2. Java Web工程目录结构

    说明 介绍java web 工程的基本结构目录.记录java web 工程结构的学习. Java web 结构 java web严格来说分为两类工程结构:一个是工程编译目录结构,一个是工程发布目录结构 ...

  3. [转]Java Web工程目录结构

    说明 介绍java web 工程的基本结构目录.记录java web 工程结构的学习. Java web 结构 java web严格来说分为两类工程结构:一个是工程编译目录结构,一个是工程发布目录结构 ...

  4. Java获取/resources目录下的资源文件方法

    Web项目开发中,经常会有一些静态资源,被放置在resources目录下,随项目打包在一起,代码中要使用的时候,通过文件读取的方式,加载并使用: 今天总结整理了九种方式获取resources目录下文件 ...

  5. Java获取Resource目录下的文件

    工程结构: 有两种方式: Java代码中的类,要获取Resource资源文件目录下文件 绝对路径寻址 String s1 = this.getClass().getResource("/te ...

  6. JAVA获取项目工程下的文件

    JAVA获取 工程下的文件  其实很简单主要是理解编译路径  ①class.getResource public static void main(String[] args) { WordTest ...

  7. Java获取资源路径——(八)

     获取文件资源有两种方式: 第一种是: 获取Java项目根目录开始制定文件夹下指定文件,不用类加载器(目录开始要加/) // 获取工程路径 System.out.println(System.getP ...

  8. JAVA中获取工程路径的方法

    在jsp和class文件中调用的相对路径不同.在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getProp ...

  9. 转:微信开发之使用java获取签名signature(贴源码,附工程)

    微信开发之使用java获取签名signature(贴源码,附工程) 标签: 微信signature获取签名 2015-12-29 22:15 6954人阅读 评论(3) 收藏 举报  分类: 微信开发 ...

随机推荐

  1. 公共表达式消除(UVa 12219)

    紫书354页的题,将表达式树进行公共表达式消除,化为等价的图.因为需要判断某一个是否出现过,所以需要快速比较,采用哈希表的形式,将a~b与1~27一一对应,不采用0,因为0与0000是相同的,对于每一 ...

  2. Oracle的导入和导出

    导出命令: EXP 用户名/密码@数据库名  BUFFER=64000 file=G:\dmp\full1.dmp  OWNER=用户名 导入命令: IMP 用户名/密码@数据库名 BUFFER=64 ...

  3. 访问google提示"您的连接不是私密连接"

    直接访问google 提示这个,连subject 也变成连baidu 您的连接不是私密连接 攻击者可能会试图从 www.google.com 窃取您的信息(例如:密码.通讯内容或信用卡信息).了解详情 ...

  4. java_lambda表达式

    lambda表达式1    由来    概念        是通过策略模式来曲线实现的    lambda表达式2    语法详解    lambda表达式3    目标类型的概念    目标类型推断 ...

  5. ubuntu16.04下怎么关闭x server

    按住ctrl+alt+f1,进入命令行. 输入sudo /etc/init.d/lightdm stopsudo /etc/init.d/lightdm status 重启xserver?输入sudo ...

  6. [ZZ] 基于Matlab的标记分水岭分割算法

    基于Matlab的标记分水岭分割算法 http://blog.sina.com.cn/s/blog_725866260100rz7x.html 1 综述 Separating touching obj ...

  7. xcopy命令总结

    xcopy命令总结1.拷贝多个文件和目录用xcopy /yhie或者xcopy /yhis命令,注意目标路径要以\结尾,例如:xcopy /yhie *.* e:\xxx\2.拷贝多个固定名字的文件用 ...

  8. bui框架nav导航图标一览

    权限  .nav-permission   仓库  .nav-storage   库存  .nav-inventory   用户  .nav-user   订单  .nav-order   商品  . ...

  9. perl二维数组

    [转载]出处:http://www.cnblogs.com/visayafan/ 1 数组与引用 2 声明的区别 3 访问的区别 4 添加行元素 5 添加列元素 6 访问与打印 6.1 运算符优先级 ...

  10. CentOS7.5下安装Mycat连接MySQL8.0

    MyCat详细介绍,请参考https://www.biaodianfu.com/mycat.html 9066管理端口,请参考https://www.cnblogs.com/parryyang/p/5 ...