我正在使用eclipse,我的文本文件位于正确的目录(src文件夹)中。我只是想读取文件并计算其中的所有单词。由于某种原因,我得到一个文件未找到异常被抛出。
这是我的代码。
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Tester {
public static int getSizeOfDictionary(File dictionary)
throws FileNotFoundException {
int count = 0;
Scanner reader = new Scanner(dictionary);
while (reader.hasNextLine()) {
reader.nextLine();
count++;
}
reader.close();
return count;
}
public static void main(String[] args) throws FileNotFoundException {
File test = new File("words.txt");
System.out.println(getSizeOfDictionary(test));
}
}
答案 0 :(得分:3)
当eclipse启动jvm时,它会将当前目录设置为项目基目录(除非您修改默认的当前目录)
${workspace_loc}/project_name
因此您需要将File
初始化更改为
File test = new File("src/words.txt");
注意:强>
它只限于这个项目结构,如果你将它导出到jar它将不再起作用,我假设你只需要它作为练习的一部分
答案 1 :(得分:3)
您可以使用this.getClass()。getResource(“words.txt”),它将在当前类路径中找到该文件。
从主要方法中可以使用:Tester.class.getResource(“words.txt”)
答案 2 :(得分:0)
您必须使用属性类来访问class-path和source文件夹中的文件
您可以尝试:
this.getClass()getResourceAsFile(" words.txt&#34)。