0

我正在尝试读取 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 文件和文本文件位于同一个文件夹中。

它是否在其他文件夹中搜索文本文件?

4

2 回答 2

1

设置工作目录

在 Eclipse 中工作时的一种选择是在启动配置中设置工作目录。去做这个:

  1. 导航到Run| Run Configurations...
  2. 在左侧窗格中选择您的配置
  3. 选择Arguments选项卡
  4. 导航到该Working directory部分
  5. 选择Other
  6. 输入您想要的基本目录

您可以通过打印在测试中验证这一点:

System.getProperty("user.dir") 

这样做的好处是不会更改生产与测试的代码。

推荐

但是,最好的方法是始终通过配置明确说明工作目录。这将工作目录置于应用程序的直接控制之下,远离工具和 servlet 容器,例如 Eclipse 和 Tomcat。为此,您将使用以下File构造函数

new File(parent, file)
于 2012-10-14T15:36:53.990 回答
0

-如果您使用 IDE 之类Eclipse的,请将文件放在Application's Project Folder.

-您也可以将它放在src文件夹中。

于 2012-10-14T15:27:38.507 回答