编程语言
首页 > 编程语言> > Java文件不存在,但File.getAbsoluteFile()存在

Java文件不存在,但File.getAbsoluteFile()存在

作者:互联网

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

enter image description here

注意

>我在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