文档章节

通过java类获取项目绝对路径两种方式

潜化
 潜化
发布于 2015/07/08 11:41
字数 246
阅读 2984
收藏 16

经常会遇到通过java类获取项目路径,并且通过该相对路径或者绝对路径加载资源文件的问题。通常最常用的的两种方式是通过classLoader或者class的getResource()方法。

其实就是clsssLoader获取的路径是相对于classPath的,class获取的路径是相对于该类的。

public static final String getPath(){
		String path1 = Constant.class.getClassLoader().getResource("").getPath();
		String path2 = Constant.class.getClassLoader().getResource("/").getPath();
		String path3 = Constant.class.getResource("").getPath();
		String path4 = Constant.class.getResource("/").getPath();
		System.out.println(path1);
		System.out.println(path2);
		System.out.println(path3);
		System.out.println(path4);
		return path1;
	}

通过该段代码的打印结果,可以判断path1,path2,path4都是得到项目的classPath路径,path3是得到类的classPath路径。

获取到项目的classPath路径,就可以操作项目的各种资源文件了,还可以在路径的上层路径添加文件夹或者文件。

当然对于web项目有自己的方法,获取项目路径,如下

request.getSession().getServletContext().getRealPath("/xx");


© 著作权归作者所有

共有 人打赏支持
潜化
粉丝 6
博文 47
码字总数 31679
作品 0
长宁
程序员
私信 提问
加载中

评论(1)

zigzagroad
zigzagroad
还应考虑打成jar包时的问题。
Java或Web中解决所有路径问题

摘要:Java中使用的路径,分为两种:绝对路径和相对路径。归根结底,Java本质上只能使用绝对路径来寻找资源。所有的相对路径寻找资源的方法,都不过是一些便利方法。不过是API在底层帮助我们...

要做攻城师的志
2012/09/01
0
0
JAVA文件中获取路径及WEB应用程序获取路径方法

基本概念的理解 :你应用上的文件或目录在硬盘上真正的路径,如:URL、物理路径 例如: c:/xyz/test.txt代表了test.txt文件的绝对路径; http://www.sun.com/index.htm也代表了一个URL绝对路...

陶邦仁
2012/10/25
0
1
Java 相对路径与绝对路径的问题

在写java程序时不可避免要获取文件的路径…总结一下,遗漏的随时补上 1.可以在servlet的init方法里 String path = getServletContext()。getRealPath("/"); 这将获取web项目的全路径 例...

风一样
2011/08/03
0
0
关于Java对相对目录的文件读写和调用方法的一些总结

关于Java对相对目录的文件读写和调用方法的一些总结 首先要讲Java路径 Java中使用的路径,分为两种:绝对路径和相对路径。具体而言,又分为四种: 1.本地系统的绝对路径: 如: windows: C:a...

蔡熙伟
2011/09/22
0
0
获取绝对路径 去除路径的% 空格问题

class 类: public static String getBasePath() { String savaPath = ""; savaPath = 类.class.getRecource("").getPath(); int i = savaPath.lastIndexOf("WEB-INF"); savaPath = savaPat......

Mr&Cheng
2013/01/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式事务解决方案框架(LCN)

什么是XA接口 XA是一个分布式事务协议,由Tuxedo提出。XA中大致分为两部分:事务管理器和本地资源管理器。其中本地资源管理器往往由数据库实现,比如Oracle、DB2这些商业数据库都实现了XA接口...

群星纪元
8分钟前
0
0
linux 操作系统 常用命令和软件安装

1.系统时间更新 ntpdate time.windows.com 2.传送文件 rsync -av /home/data/a.dat -e ssh root@192.168.0.100:/home 3.传送文件夹 scp -r /home/data root@192.168.0.100:/home 4.JDK安装 ......

WJtiny
30分钟前
0
0
pg_lightool基于basebackup的单表恢复和块恢复

开源软件pg_lightool,实现了基于wal日志的块恢复。详情参见博客:https://my.oschina.net/lcc1990/blog/1931485。由于wal日志中FPW的不确定性,它不能作为一个数据库恢复的解决方案。目前对...

movead
38分钟前
2
0
对比剖析Swarm Kubernetes Marathon编排引擎

Docker Native Orchestration 基本结构 Docker Engine 1.12 集成了原生的编排引擎,用以替换了之前独立的Docker Swarm项目。Docker原生集群(Swarm)同时包括了(Docker Engine \/ Daemons)...

Linux就该这么学
39分钟前
2
0
Mybatis的结果集处理

此时我们已经可以把整段的SQL语句取出,但还并没有在数据库中去执行,我们可以先来分析一下配置文件中SQL语句执行后的结果集是如何处理的。 Mybatis会将结果集按照映射配置文件中定义的映射规...

算法之名
51分钟前
25
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部