java getabsolutefile()_Java文件不存在,但File.getAbsoluteFile()存在

没有人遇到java.io.File不存在但在文件实例上调用getAbsoluteFile()方法返回确实存在的文件的情况.为什么会这样呢?

86677ab5b114c705d520cfd8702dca16.png

注意

>我在Linux上以及版本1.7.0_95-b00的Oracle Java运行时

>我传递了JVM选项-Duser.dir = / path / to / somewhere when

启动tomcat实例

解决方法:

您可能不应该弄乱user.dir.而是在启动Tomcat之前切换到该目录.

File.getAbsoluteFile()假设user.dir是您真正所在的目录,但您实际上不在.

根据您的观察,我认为File.exists()直接映射到操作系统级别的stat. File.getAbsoluteFile()只是新的File(System.getProperty(“ user.dir”),getPath()).

假设user.dir是操作系统的当前工作目录,则这两种实现是正确且合理的.但是,在您的情况下,它们是不同的,并且此(假定的)实现可以解释您遇到的情况.

标签:java,java-7

来源: https://codeday.me/bug/20191013/1907505.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值