我在tomcat上运行了一个webservice,并希望执行一些fileIO。
File f = new File(test.txt);
new BufferedReader(new FileReader(test.txt));
结果:
java.io.FileNotFoundException: test.txt
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.io.FileInputStream.<init>(FileInputStream.java:97)
at java.io.FileReader.<init>(FileReader.java:58)
我错过了什么吗?将我的代码作为本地独立应用程序运行按预期工作。但是在tomcat上导致异常。
答案 0 :(得分:4)
您需要先创建文件。 File对象实际上只是文件路径的表示,而不是文件本身。
f.createNewFile()
答案 1 :(得分:2)
if (!f.exists())
{
f.createNewFile();
}
答案 2 :(得分:0)
将我的代码作为本地独立应用程序运行正常工作。但是在tomcat上导致异常。
您正在使用相对于工作目录的路径。当您将其作为独立应用程序运行时,我假设您在运行应用程序的目录中有该文件。 Web服务器的工作目录通常是服务器的bin
,因此您说您希望该文件存在。
使用完整路径,或使用getResourceAsInputStream()使用应用程序的资源是一个更好的主意。