即使文件存在,也找不到FileInputStream

时间:2018-01-23 01:55:33

标签: java

我正在尝试将Firebase与我在服务器上运行的Java Spring Web应用程序集成,但它会出错:

  

未处理的异常:java.io.FileNotFoundException“

该文件存在于目录中:

FileInputStream serviceAccount = new FileInputStream("C:\Users\My Name\Downloads\Projectname\words.txt"); 

当我刚刚使用File存在它,它的可读性,完整的文件路径或者与FileInputStream中的文件路径完全相同但是没有任何工作时,我运行了一堆打印。我不能使用try catch,因为Firebase不允许它或其他东西。此时我不知道该怎么做。

2 个答案:

答案 0 :(得分:2)

正如提议的副本中所提到的,您的问题可能是您需要通过向您的方法(以及调用它的所有方法)添加throws FileNotFoundException来声明可能的异常。见Using FileReader causes a compiler error "unhandled exception type FileNotFoundException"

您在上面发布的代码在编译时也会出现错误illegal escape character(因为反斜杠在Java中用于表示特殊字符,例如换行符\n),这似乎与当前不相关问题,但你可以通过用两个反斜杠替换每个单反斜杠来修复它,如下所示:

FileInputStream serviceAccount = new FileInputStream("C:\\Users\\My Name\\Downloads\\Projectname\\words.txt");

答案 1 :(得分:1)

使用路径分隔符时,必须记住正确使用\/。你应该把它改成

"C:/Users/My Name/Downloads/Projectname/words.txt"

在Java程序中。