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

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. Okhttp、Volley和Gson的简单介绍和配合使用

    转载自:http://www.apkbus.com/home.php?mod=space&uid=784586&do=blog&id=61255 1.okhttp是一个高效的. ...

  2. golang-grpc-Unimplemented-desc

    golang 调用grpc 服务方法时候提示:"rpc error: code = Unimplemented desc ="的错误, 这是由于pb中的package name 被 ...

  3. Java面向对象 第2节 Scanner 类和格式化输出printf

    §Scanner 类 java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入. 1.创建 Scanner 对象的基本语法:Scanner s = ...

  4. centos7以rpm方法装mysql5.7及大坑

    环境: CentOS Linux release 7.5.1804 (Core)   Mysql版本: MySQL-5.7.17-1.el6.x86_64.rpm-bundle.tar   下载地址( ...

  5. JsonPath 使用

      Map<String, String> map ----> $.store.bicycleString str = $.store.otherList<Map<Str ...

  6. oracle表被锁(delete或update一直处于执行状态)的处理办法。

    --首先查看有哪些锁 select /*+ rule */ s.username, decode(l.type,'TM','TABLE LOCK','TX','ROW LOCK',null) lock ...

  7. node升级的正确方法

    本文主要是针对安装了node的用户如何对node进行升级或者安装指定版本:没有安装node的可以参考连接node安装方法 . 安装方法: 1.产看node版本,没安装的请先安装: $  node -v ...

  8. 配置gitlab自动备份

    在gitlab机器的root用户执行 首先,假设有2台机器. gitlab 1.1.1.1 backup 2.2.2.2 做秘钥信任 gitlab root 生成 ssh-key copy密钥到bac ...

  9. python网页爬虫开发之五-反爬

    1.头信息检查是否频繁相同 随机产生一个headers, #user_agent 集合 user_agent_list = [  'Mozilla/5.0 (Windows NT 6.1; WOW64 ...

  10. doi

    doi是指数字对象唯一标识符,是云计算背景下最佳的“大数据”样本存储和应用技术,用于IKE进行协商SA协议统一分配. doi的优点有唯一性.持久性.兼容性.互操作性.动态更新.   外文名 doi 概 ...