获取Java项目根目录
<pre id="content-586097673" mb10">一 相对路径的获得
说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目)
String relativelyPath=System.getProperty("user.dir"); 上述相对路径中,java项目中的文件是相对于项目的根目录 web项目中的文件路径视不同的web服务器不同而不同(tomcat是相对于 tomcat安装目录/bin)
二 类加载目录的获得(即当运行时某一类时获得其装载目录) 1.1)通用的方法一(不论是一般的java项目还是web项目,先定位到能看到包路径的第一级目录) InputStream is=TestAction.class.getClassLoader().getResourceAsStream("test.txt"); (test.txt文件的路径为 项目名/src/test.txt;类TestAction所在包的第一级目录位于src目录下) 上式中将TestAction,test.txt替换成对应成相应的类名和文件名字即可 1.2)通用方法二 (此方法和1.1中的方法类似,不同的是此方法必须以'/'开头) InputStream is=Test1.class.getResourceAsStream("/test.txt"); (test.txt文件的路径为 项目名/src/test.txt,类Test1所在包的第一级目录位于src目录下)
三 web项目根目录的获得(发布之后) 1 从servlet出发 可建立一个servlet在其的init方法中写入如下语句 ServletContext s1=this.getServletContext(); String temp=s1.getRealPath("/"); (关键) 结果形如:D:/工具/Tomcat-6.0/webapps/002_ext/ (002_ext为项目名字) 如果是调用了s1.getRealPath("")则输出D:/工具/Tomcat-6.0/webapps/002_ext(少了一个"/")
2 从httpServletRequest出发 String cp11111=request.getSession().getServletContext().getRealPath("/"); 结果形如:D:/工具/Tomcat-6.0/webapps/002_ext/
四 classpath的获取(在Eclipse中为获得src或者classes目录的路径) 方法一 Thread.currentThread().getContextClassLoader().getResource("").getPath() eg: String t=Thread.currentThread().getContextClassLoader().getResource("").getPath(); System.out.println("t---"+t); 输出:t---/E:/order/002_ext/WebRoot/WEB-INF/classes/
方法二 JdomParse.class.getClassLoader().getResource("").getPath() (JdomParse为src某一个包中的类,下同) eg:String p1=JdomParse.class.getClassLoader().getResource("").getPath(); System.out.println("JdomParse.class.getClassLoader().getResource--"+p1); 输出: JdomParse.class.getClassLoader().getResource--/E:/order/002_ext/WebRoot/WEB-INF/classes/
另外,如果想把文件放在某一包中,则可以 通过以下方式获得到文件(先定位到该包的最后一级目录) eg String p2=JdomParse.class.getResource("").getPath(); System.out.println("JdomParse.class.getResource---"+p2); 输出: JdomParse.class.getResource---/E:/order/002_ext/WebRoot/WEB-INF/classes/jdom/ (JdomParse为src目录下jdom包中的类) 四 属性文件的读取: 方法 一 InputStream in = lnew BufferedInputStream( new FileInputStream(name)); Properties p = new Properties(); p.load(in);
注意路径的问题,做执行之后就可以调用p.getProperty("name")得到对应属性的值 方法二 Locale locale = Locale.getDefault(); ResourceBundle localResource = ResourceBundle.getBundle("test/propertiesTest", locale); String value = localResource.getString("test"); System.out.println("ResourceBundle: " + value); 工程src目录下propertiesTest.properties(名字后缀必须为properties)文件内容如下: test=hello word
转载于:https://blog.51cto.com/yzbxcf/1202056
获取Java项目根目录相关推荐
- java 在linux获取项目路径_windows linux 下,获取java项目绝对路径的方法
struts2设置了struts.multipart.saveDir后会在根目录建立文件夹,这样会涉及linux下的权限问题, 最好不要设置,使用struts默认 需要使用路径时,用下面的方法取得项目 ...
- java项目获取根目录_获取java项目的根目录
欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入 第二种实现 首先写一个接听类 (推荐使用,容器启动时就执行,不会抛空指针异常,适合做定时器任务来删除服务器文件的路径) Ja ...
- 获取java项目路径_Java获取项目路径
Java获取项目路径 1. 利用System获取System.getProperty("user.dir"); //输出: E:\IDEA\canye365-crawler-dem ...
- Java中动态获取项目根目录和tomcat的绝对路径
序言 在开发过程中经常会用到读写文件,其中就必然涉及路径问题.使用固定的绝对路径当然很方便,但会导致程序的可移植性差,比如在代码中写死了要在E盘建一个文件,而移植后的环境中木有E盘,那就只能改代码:又 ...
- Weblogic部署web项目获取项目根目录为null
写在前面 图片上传功能, web项目部署在本地Tomcat上并没有问题, 但是打成war包部署到Linux服务器Weblogic下却出现如题问题, 导致图片上传失败. 问题代码 String real ...
- javase获取项目根目录_JavaSE:如何设置/获取您自己的文件和目录属性
javase获取项目根目录 在上一篇文章"确定特定文件系统支持的视图"中 ,了解如何询问文件系统存储,并了解特定文件属性视图的可支持性. 简而言之,我们将探索最高级和最重要的文件属 ...
- java中怎么把生成文件到项目根目录_[SpringBoot2.X] 02- 项目结构介绍
POM文件 继承 Spring Boot 的父级依赖,只有继承它项目才是 Spring Boot 项目. spring-boot-starter-parent 是一个特殊的 starter, 它用来提 ...
- 你知道,java项目中是如何获取文件地址的吗?
摘要:在java项目中我们经常会读取配置文件,但是文件的路径在获取时我们是怎么得到的?因为我总是忘记获取文件地址的方法,就在此记录一下 本文分享自华为云社区<[Java]Java项目的绝对地址和 ...
- Java项目获取路径方法
路径获取常用方法: Javaweb的不常用方法: 以工程名为/DemoWeb为例: 访问的jsp为:http://localhost:8080/DemoWeb/test/index.jsp 1 JSP ...
最新文章
- linux 定时执行shell脚本 定时任务
- 中科院分区 2020_2020中科院期刊分区出炉!文末附2020年中科院期刊分区基础版(全)...
- 在Spring使用AWS SQS创建消息驱动Bean
- mac python安装太慢_【已解决】Mac中给pip3添加代理以提升下载python包的速度
- JDK8新特性(八)之Stream流的map()、sorted()、distinct()、match()方法
- [转帖]int main(int argc,char * argv[]) windows 下的使用
- mybatis--关于接口参数注解的几个小问题
- AWS DeepRacer 强化学习RL,工作流程
- office2019专业增强版64位和32位安装包收集整理
- 1.2 几个经典博弈模型(囚徒的困境、赌胜博弈、产量决策的古诺模型)
- 分布式任务调度框架设计与实现解读(1)
- 【计算机三级网络】考前看一看,必过60分
- ecplise 设置代码自动提示功能
- 第七章 问什么巴比伦塔会失败
- 计算机中丢失d3dx9_30.dll,Win10不能玩《仙剑5》提示缺少d3dx9_30.dll的解决方法
- 2022寒假---冲冲冲~
- 网络布线之有线传输+UTP线缆连接
- Jetson学习笔记(一):jetson 系列镜像下载、烧写、设置散热风扇、中文包、pip、中转英目录、软件源、显示CSI摄像头
- linux 基因组数据下载,phytozome植物基因组下载网站
- win10taskkill强行结束进程_win10强制关闭应用程序的方法