1. <pre id="content-586097673" mb10">一 相对路径的获得

  2. 说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目)

  3. String relativelyPath=System.getProperty("user.dir"); 上述相对路径中,java项目中的文件是相对于项目的根目录 web项目中的文件路径视不同的web服务器不同而不同(tomcat是相对于 tomcat安装目录/bin)

  4. 二 类加载目录的获得(即当运行时某一类时获得其装载目录) 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目录下)

  5. 三 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(少了一个"/")

  6. 2 从httpServletRequest出发 String cp11111=request.getSession().getServletContext().getRealPath("/"); 结果形如:D:/工具/Tomcat-6.0/webapps/002_ext/

  7. 四 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/

  8. 方法二 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/

  9. 另外,如果想把文件放在某一包中,则可以 通过以下方式获得到文件(先定位到该包的最后一级目录) 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);

  10. 注意路径的问题,做执行之后就可以调用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项目根目录相关推荐

  1. java 在linux获取项目路径_windows linux 下,获取java项目绝对路径的方法

    struts2设置了struts.multipart.saveDir后会在根目录建立文件夹,这样会涉及linux下的权限问题, 最好不要设置,使用struts默认 需要使用路径时,用下面的方法取得项目 ...

  2. java项目获取根目录_获取java项目的根目录

    欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入 第二种实现 首先写一个接听类 (推荐使用,容器启动时就执行,不会抛空指针异常,适合做定时器任务来删除服务器文件的路径) Ja ...

  3. 获取java项目路径_Java获取项目路径

    Java获取项目路径 1. 利用System获取System.getProperty("user.dir"); //输出: E:\IDEA\canye365-crawler-dem ...

  4. Java中动态获取项目根目录和tomcat的绝对路径

    序言 在开发过程中经常会用到读写文件,其中就必然涉及路径问题.使用固定的绝对路径当然很方便,但会导致程序的可移植性差,比如在代码中写死了要在E盘建一个文件,而移植后的环境中木有E盘,那就只能改代码:又 ...

  5. Weblogic部署web项目获取项目根目录为null

    写在前面 图片上传功能, web项目部署在本地Tomcat上并没有问题, 但是打成war包部署到Linux服务器Weblogic下却出现如题问题, 导致图片上传失败. 问题代码 String real ...

  6. javase获取项目根目录_JavaSE:如何设置/获取您自己的文件和目录属性

    javase获取项目根目录 在上一篇文章"确定特定文件系统支持的视图"中 ,了解如何询问文件系统存储,并了解特定文件属性视图的可支持性. 简而言之,我们将探索最高级和最重要的文件属 ...

  7. java中怎么把生成文件到项目根目录_[SpringBoot2.X] 02- 项目结构介绍

    POM文件 继承 Spring Boot 的父级依赖,只有继承它项目才是 Spring Boot 项目. spring-boot-starter-parent 是一个特殊的 starter, 它用来提 ...

  8. 你知道,java项目中是如何获取文件地址的吗?

    摘要:在java项目中我们经常会读取配置文件,但是文件的路径在获取时我们是怎么得到的?因为我总是忘记获取文件地址的方法,就在此记录一下 本文分享自华为云社区<[Java]Java项目的绝对地址和 ...

  9. Java项目获取路径方法

    路径获取常用方法: Javaweb的不常用方法: 以工程名为/DemoWeb为例: 访问的jsp为:http://localhost:8080/DemoWeb/test/index.jsp 1 JSP ...

最新文章

  1. linux 定时执行shell脚本 定时任务
  2. 中科院分区 2020_2020中科院期刊分区出炉!文末附2020年中科院期刊分区基础版(全)...
  3. 在Spring使用AWS SQS创建消息驱动Bean
  4. mac python安装太慢_【已解决】Mac中给pip3添加代理以提升下载python包的速度
  5. JDK8新特性(八)之Stream流的map()、sorted()、distinct()、match()方法
  6. [转帖]int main(int argc,char * argv[]) windows 下的使用
  7. mybatis--关于接口参数注解的几个小问题
  8. AWS DeepRacer 强化学习RL,工作流程
  9. office2019专业增强版64位和32位安装包收集整理
  10. 1.2 几个经典博弈模型(囚徒的困境、赌胜博弈、产量决策的古诺模型)
  11. 分布式任务调度框架设计与实现解读(1)
  12. 【计算机三级网络】考前看一看,必过60分
  13. ecplise 设置代码自动提示功能
  14. 第七章 问什么巴比伦塔会失败
  15. 计算机中丢失d3dx9_30.dll,Win10不能玩《仙剑5》提示缺少d3dx9_30.dll的解决方法
  16. 2022寒假---冲冲冲~
  17. 网络布线之有线传输+UTP线缆连接
  18. Jetson学习笔记(一):jetson 系列镜像下载、烧写、设置散热风扇、中文包、pip、中转英目录、软件源、显示CSI摄像头
  19. linux 基因组数据下载,phytozome植物基因组下载网站
  20. win10taskkill强行结束进程_win10强制关闭应用程序的方法

热门文章

  1. redis演练(3) redis事务管理
  2. 兰州市智慧城市建设再迈出实质性一步
  3. IntelliJ IDEA 安装本地插件
  4. eclipse的workspace和working set
  5. magento paypal付款实现前台切换货币付款
  6. Linux程序设计之套接字: 循环服务 并发服务
  7. Exchange企业实战技巧(18)日志规则应用之审计邮箱
  8. 【转发】 iphone开发随笔,有用的
  9. 【实战】颠覆银行基础架构的区块链
  10. Objcet_类的方法