我正在尝试读取文件,并将每个单词扔到arraylist中,但它一直说找不到文件。我已经仔细检查过(和三重,四重,大声笑)文件名是否与正确的扩展名匹配并且位于同一目录中。我觉得我缺少明显的东西。另外,我知道还有其他读取文件的方法,但是我们还没有在班级学习这些方法,因此我想使用Scanner类使它起作用。
public class FrequencyAnalysis {
private static ArrayList<String> words = new ArrayList<>();
public static void read() throws IOException {
String token;
Scanner inFile = new Scanner(new File("plaintext.txt"));
while (inFile.hasNext()){
token = inFile.next();
words.add(token);
}
}
}
public class FrequencyAnalysisTester {
public static void main(String[] Args) throws IOException {
FrequencyAnalysis.read();
}
}
答案 0 :(得分:0)
当前目录可能与.class文件的目录不同。 如果您的文件位于类路径中,则此代码可以解决您的问题
URL path = ClassLoader.getSystemResource("myFile.txt");
File f = new File(path.toURI());
有关更多详细信息,请参考此答案 Java, reading a file from current directory?