还有就是:System.getProperty("user.dir"),都说获得的是“工作目录”,有老铁们在意这个,工作目录怎么理解吗?我这做了个简单的测试。

但是,你把这个配置文件放在项目的根目录下面,也就是 说你的项目文件夹下面直接放一个配置文件,这个时候,就可以,啥前缀不加的,就可以读取到,这个配置文件啦。

但是,这么放置配置文件,好像有点不合适。

那么,这个路径究竟该如何写,才不会报错呢?

1,在 java project 中的配置文件读取,项目打包是jar类型的。

System.getProperty("user.dir");

解释:

默认定位到的当前用户目录("user.dir")(即工程根目录)

JVM就可以据"user.dir" + "你自己设置的目录" 得到完整的路径(即绝对路径)

这有个前提,你的工程不是web项目,不然,这个返回值就不是项目的根目录啦,是tomcat的bin目录。

2,在 java web project 中的配置文件读取

ServletActionContext.getServletContext().xxx

这地方的 ServletActionContext 可不是让你,直接拿来使用的,得分情况而定。

System.out.println("getProperty(\"user.dir\") " + System.getProperty("user.dir"));

System.out.println("getServletContext");

System.out.println("getRealPath " + request.getSession().getServletContext().getRealPath("/"));

System.out.println("getContextPath " + request.getSession().getServletContext().getContextPath());

System.out.println("getResourcePaths " + request.getSession().getServletContext().getResourcePaths("/"));

System.out.println("getResourcePaths " + request.getSession().getServletContext().getResourceAsStream("/WEB-INF/classes/error.xml"));

return mav;想知道这个运行的结果吗?

getRealPath:

直接干到了打成war包target下的项目名称我这叫springMVC。

getContextPath:

这个就是获得当前URL的地址,我访问的这个链接全称是:http://localhost:8080/lxk/student

看运行结果,就是你这个 web app 的名称啦,因为后面的student算是子功能吧。

getResourcePaths:

获得的是打包之后target目录下的项目名称下的所有的目录,具体看图。

一般,老铁们搜索文章,都搜索到的是

System.getProperty("user.dir")

获得的是工作目录,这个搜索结果千篇一律。简直可怕。因为,这些老铁们从来没测试过。

什么叫工作目录。。。

可以看到,我这个在,Java web项目里面的允许结果,竟然是tomcat的bin 目录。这个懂的自然懂,不懂的,还是渣渣的迷糊。

在非Java web 的项目里面,这个 System.getProperty("user.dir") 的运行结果,如下。

Java配置文件找不到指定_转载:Java项目读取配置文件时,FileNotFoundException 系统找不到指定的文件,System.getProperty(user.dir)的理解...相关推荐

  1. java枚举类型有什么用_[转载] Java中枚举类型的使用 - enum

    本文转载自博客 - Java枚举类型, 博主对原文内容及结构作了一定的修改. 1 枚举类的编译特性 从JDK 5开始, Java中多了一个关键字 -- enum: 可以将一组具有名称的值(包括Stri ...

  2. java中的map是什么_转载java中Map的详解

    Map简介 什么是map? map是一个接口  是一个将建key 映射到值的对象. map的主要作用是什么? 可以通过创建一个map的实现类 来存放 数据 值 和值的描述 也可以通过描述去取得数据 将 ...

  3. java比较两个word差异_[转载]java在线比较两个word文件

    一.项目背景 开发文档管理系统或OA办公系统的时候,实现在线处理word文档的功能比较容易,但是也经常会有客户提出文档版本管理的需求,这就需要同时在线打开两个word文件,对比两个不同版本的word文 ...

  4. java的按钮点击事件_[转载]java处理按钮点击事件

    不同的事件源可以产生不同类别的事件.例如,按钮可以发送一个ActionEvent对象,而窗口可以发送WindowEvent对象. AWT时间处理机制的概要: 1.监听器对象是一个实现了特定监听器接口( ...

  5. java找不到配置文件_Java项目读取配置文件时,找不到指定的文件???

    唉,读取个文件,也就是在项目里面去获得配置文件的目录,然后,变成文件,有事没事,总是出个 FileNotFoundException 系统找不到指定的文件,气死人啦. 还有就是:System.getP ...

  6. 记录一个bug 关于 java 解压缩包 写入本地报错 :java.io.FileNotFoundException(系统找不到指定的路径。)

    记录一个bug 关于 java 解压缩包 写入本地报错 :java.io.FileNotFoundException(系统找不到指定的路径.) 第一想法是路径问题: 1.检查文件路径是否正确 2.另外 ...

  7. 下载logisim时显示“系统找不到指定路径”的解决办法!!!!

    下载logisim时显示"系统找不到指定路径"的解决办法!!!! 最后全部搞完的时候百度到了这个: 因为我的电脑之前胡乱删了一些东西而且Java没卸载,总之就很乱,但是我没卸载干净 ...

  8. python打包成.exe文件时出现“系统找不到指定路径”

    python打包成.exe文件时出现"系统找不到指定路径" 我在一开始写工程时就想到最后打包的时候可能会出现文件位置会发生移动,所以并没有使用绝对路径,而都是以相对路径写的程序. ...

  9. 如何解决Visual Studio2010 编译时提示系统找不到指定文件问题

    如何解决Visual Studio2010 编译时提示系统找不到指定文件问题 参考文章: (1)如何解决Visual Studio2010 编译时提示系统找不到指定文件问题 (2)https://ww ...

最新文章

  1. 【转】NuGet.org 无法访问的解决方法
  2. MVC %%与%=%与区别
  3. 成功解决CatBoostError: Invalid type for cat_feature cat_features must be integer or string, real number
  4. IndexNotReadyException: Please change caller according to com.intellij.openapi.project.IndexNotReady
  5. 使用jquery对特殊字符进行转义,防止js注入
  6. leetcode691:Stickers to Spell Word
  7. jpGraph学习——绘制3D饼形图
  8. 传感器系列(一)——超声波测距传感器 HC—SR04模块
  9. 【图像加密】基于LSB算法实现图像隐写含Matlab源码
  10. HHL算法的QISKit实现
  11. Spring-IoCDI
  12. 《服务外包概论》知识点梳理
  13. VIN码识别又叫车架号识别,OCR技术深度应用
  14. Pikka 2.1.0 macOS菜单栏屏幕取色器
  15. jetson xavier nx 系统及相关环境配置(cuda,torchvision,torch,tensorflow,opencv)
  16. Emacs 从入门到精通
  17. 实习html周日志,实习日志:最后的一周
  18. 【20210913】【数据库】用SQL语句,往数据库里插入一行、多行新数据
  19. axios上传文件错误:Current request is not a multipart request
  20. leaflet鼠标进出事件 mouseover和mouseout (示例代码009)

热门文章

  1. kvm初体验之四:从Host登录Guest的五种方式
  2. android去除标题栏和状态栏(全屏)
  3. javascript 常用的数组操作
  4. .NET自动服务程序—C#
  5. 程序设计模式的有趣解释-追MM
  6. 8086汇编语言显示一串字符串中ASCII码最大的一个字符
  7. 火狐marquee_火狐不支持marquee解决方案
  8. k8s相关面试问题_最常被问到的20道Kubernetes面试题
  9. mysql 备库同步_MYSQL主从库同步配置过程
  10. IDEA运行test出现 Failed to execute goal org.codehaus.mojo:exec-maven-plugin:16.0.0:exec (default-cli) on