FileInputStream java.io.FileNotFoundException

时间:2015-11-02 20:37:23

标签: java

我应该预先知道这段代码是在IBM JDK 7中运行的。以下代码行会引发FileNotFound异常。

properties.load(new FileInputStream("/myApp/properties/props.properties"));

同样的代码行在我的同事计算机上运行良好。出于某种原因,在他们的机器上有一个隐含的C:假定在该路径前面,这是我需要在我的计算机上发生的事情。我们已经集思广益,但还没有找到问题的解决方案。

当我运行此行时

properties.load(new FileInputStream("C:\\myApp\\properties\\props.properties"));

它工作正常,不会抛出错误。如您所见,我已将C:专门放在路径中。如何让第一行代码假设存在隐式C:

1 个答案:

答案 0 :(得分:0)

在Windows上,文件名/myApp/properties/props.properties不是绝对的,因为它没有指定驱动器号。操作系统将添加当前工作目录的驱动器,使其成为绝对文件名。

因此,如果程序是使用驱动器C上的当前工作目录启动的,那么一切正常,如果从另一个驱动器启动,则无法找到该文件。