Java获取工程目录

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

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所有类加载路径

原文地址:https://www.cnblogs.com/meitian/p/9382661.html

时间: 2024-08-02 15:29:47

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

Java获取工程路径的几种方法

第一种: 1 File f = new File(this.getClass().getResource("/").getPath()); 2 System.out.println(f); 结果: C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin 获取当前类的所在工程路径: 如果不加“/”: 1 File f = new File(this.getClass().getResource("

java 获取 jar 目录 生成 logs 目录

public static void main(String[] args) { String path = ClassName.class.getProtectionDomain().getCodeSource().getLocation().getPath(); try{ path = java.net.URLDecoder.decode(path, "UTF-8");//转换处理中文及空格 }catch (java.io.UnsupportedEncodingException

Eclipse下的java工程目录问题和路径问题理解

1.Eclipse下的java工程都有哪些文件夹? 答:new java project时,会默认创建SRC源代码目录,并默认创建一个bin目录作为输出目录,输出目录是指生成的class文件和配置文件地址. 所以Eclipse创建的java工程,默认就两个文件夹,src和bin. 2.当点击Eclipse运行时候java jdk会默认执行编译,并将编译后的java文件,生成class文件放到项目目录下的bin文件夹里,以.class命名结尾. 注:即使某个类有bug错误,不能编译通过.但只要点击

JAVA中获取工程路径的方法

转自:http://java-my-life.iteye.com/blog/829504 在jsp和class文件中调用的相对路径不同.在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getProperty("user.dir")获取你工程的绝对路径. 1.jsp中取得路径: 以工程名为TEST为例 (1)得到包含工程名的当前页面全路径: Java代码   request.getRequestU

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

微信开发之使用java获取签名signature(贴源码,附工程) 标签: 微信signature获取签名 2015-12-29 22:15 6954人阅读 评论(3) 收藏 举报  分类: 微信开发(5)  版权声明:本文为博主原创文章,转载注明出处http://blog.csdn.net/u013142781 目录(?)[+] 一.前言 微信接口调用验证最终需要用到的三个参数noncestr.timestamp.signature: 接下来将会给出获取这三个参数的详细代码 本文的环境ecli

获取java项目 classpath目录

this.getClass().getResource("/").getPath(); 从根目录获取载入文件: this.getClass().getResourceAsStream("/myshop.properties") 获取java项目 classpath目录,布布扣,bubuko.com

JAVA之IO技术-获取指定目录下的文件夹和文件的File对象或是字符串名称。

package ioTest.io3; /* * 获取指定目录下的文件夹和文件的File对象或是字符串名称. * 也可以通过filter获取指定的文件夹或者指定类型的文件 * 这里面需要做一个总结,如何利用jdk的源码去理解不熟悉的方法的应用. */ import java.io.File; import java.io.FileFilter; import java.io.FilenameFilter; public class FileDemo2 { public static void m

JAVA之File类 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件

package ioTest.io3; import java.io.File; /* * 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件 . * 并将文件夹和文件名称打印在控制台上面.并且要显示文件目录的层级 * 注:运用了递归的算法. */ public class FileDemo3 { public static void main(String[] args) { File dir=new File("F:\\黑马学习日程\\"); //File dir=new Fi

Java获取、删除文件和目录

1 package javatest; 2 3 import java.io.File; 4 import java.util.ArrayList; 5 import java.util.regex.Pattern; 6 7 class FileUtils 8 { 9 public static void main(String[] args) 10 { 11 String dir = "C:\\Users\\hp\\Desktop\\test"; 12 13 System.out.p