我目前正在制作一个应用程序,它可以从文本文件中读取内容,然后使用其中的单词执行很酷的操作。现在我遗憾地遇到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
我做错了什么?
答案 0 :(得分:0)
根据可用信息,我怀疑工作目录不匹配。
启动Java程序时的工作目录不是您所期望的。 new File("texts/" [...]
将创建相对路径。
您可以在工作目录部分底部附近的 Arguments 标签中的Launch Configuration中指定工作目录:
将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*");