FileInputStream不适用于相对路径


问题内容

我尝试从中创建对象FileInputStream并将文件的相对值传递给其构造函数,但是它无法正常工作并抛出FileNotFoundException

try {
   InputStream is = new FileInputStream("/files/somefile.txt");
} catch (FileNotFoundException ex) {
   System.out.println("File not found !");
}

问题答案:

/一开始会使得绝对路径,而不是相对的。

尝试移除前导/,因此请更换:

InputStream is = new FileInputStream("/files/somefile.txt");

与:

InputStream is = new FileInputStream("files/somefile.txt");

如果仍然遇到问题,请通过检查当前目录来确保程序从您认为的位置运行:

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