我正在尝试读取servlet中的文件。我正在使用eclipse IDE。
如果我提供相对文件名,我会收到FileNotFoundException。
List<String> ls=new ArrayList<String>();
Scanner input = new Scanner(new File("Input.txt"));
while(input.hasNextLine()) {
ls.add(input.nextLine());
}
如果我把绝对路径放在这样的代码中,相同的代码就可以了:
Scanner input = new Scanner(new File("F:/Spring and other stuff/AjaxDemo/src/com/pdd/ajax/Input.txt"));
Java文件和文本文件位于同一文件夹中。
是否在其他文件夹中搜索文本文件?
答案 0 :(得分:1)
在Eclipse内部工作时,您有一个选项是在启动配置中set the working directory。要做到这一点:
Run
| Run Configurations
... Arguments
标签Working directory
部分Other
您可以通过打印在测试中对此进行验证:
System.getProperty("user.dir")
这样做的好处是不会更改生产与测试的代码。
但是,最好的方法是始终通过配置明确工作目录。这将工作目录置于应用程序的直接控制之下,远离Eclipse和Tomcat等工具和servlet容器。为此,您将使用以下File
constructor
new File(parent, file)
答案 1 :(得分:0)
- 如果您使用的是Eclipse
之类的IDE,请将文件放在Application's Project Folder
。
- 您也可以将其放在src
文件夹中。