Eclipse无法从路径中查找/打开文本文件

时间:2016-02-26 18:57:34

标签: java eclipse directory

我目前正在制作一个应用程序,它可以从文本文件中读取内容,然后使用其中的单词执行很酷的操作。现在我遗憾地遇到Eclipse无法找到/打开文本文件的问题。因为这是我的第一个应用程序,所以我不能100%确定我是否正确地完成了“正确放置文件”。

这里有两个截图,几乎总结了整个问题:

Error message when the method is executed

My directories look like this.

我已经编写了另一个程序,我使用了类似的路径,一切正常。

这是代码:(elemArray包含“wi”,“wa”,“f”,“l”,“d”)

String[] elemArray = elems.toArray(new String[0]);

    for(int i = 0; i < 5; ++i){

        for(int l = 3; l < 6; ++l){
            checkFile = new Scanner(new File("texts/" + elemArray[i] + "monster" + l + ".txt")).useDelimiter(",\\s*");
.
.
.   does some other irrelevant stuff here

我做错了什么?

1 个答案:

答案 0 :(得分:0)

根据可用信息,我怀疑工作目录不匹配。

工作目录

启动Java程序时的工作目录不是您所期望的。 new File("texts/" [...]将创建相对路径。

您可以在工作目录部分底部附近的 Arguments 标签中的Launch Configuration中指定工作目录:

working directory

测试/调试

new File("texts/" [...]提取到一个变量(它是一个很长的行)。您可以添加f.getAbsoluteFile()的表达式,以确保它按预期结算。

即。像这样重写(我可能会提取传递给new File()的字符串太BTW):

String [] elemArray = elems.toArray(new String [0]);

for(int i = 0; i < 5; ++i){

    for(int l = 3; l < 6; ++l){
        File f = new File("texts/" + elemArray[i] + "monster" + l + ".txt");
        checkFile = new Scanner(f).useDelimiter(",\\s*");