Java文件不存在,但File.getAbsoluteFile()存在
作者:互联网
没有人遇到java.io.File不存在但在文件实例上调用getAbsoluteFile()方法返回确实存在的文件的情况.为什么会这样呢?
注意
>我在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