Java从文件“线程“主”中的异常”读取错误

时间:2019-12-17 22:52:41

标签: java dictionary package filereader spell-checking

我有一项关于大学的拼写检查程序的作业,该程序使用提供给我们的词典文本文件,每行一个单词,数百行单词。因此,我一直在尝试在代码中自制简单的读取文件(chinese.txt),只需要所需的时间,而不是一开始就需要整个字典。我将读取类函数分为两类,一类用于执行它(拼写检查器)。但是,当我尝试执行时,无论线程中的异常如何更改,我都会不断收到相同的错误。

readfile.java:

package coursework2;
import java.io.*;
import java.util.*;

public class readfile {

private Scanner x;

public void openFile() {
    try {
        x = new Scanner(new File("chinese.txt"));
    }
    catch(Exception e) {
        System.out.println("Not found");
    }
}
public void readFile() {
    while(x.hasNext()) {
        String a = x.next();
        String b = x.next();
        String c = x.next();

        System.out.printf("%s %s %s", a,b,c);
    }
}
public void closeFile() {
    x.close();
}

spellchecker.java:

epackage coursework2;

class spellchecker {

public static void main(String[] args) {

    readfile r = new readfile();
    r.openFile();
    r.readFile();
    r.closeFile();
}

}

文本文件(中文)每行只有几个单词3,因此设置了打印方法的格式。如果有人可以让我知道如何摆脱这个错误,或者是一种更好的方法来启动我的此拼写检查程序的方法,将不胜感激。由于我的实际项目需要使用可能有数千个变量的字典。

亲切问候

一年级Java学习者。

1 个答案:

答案 0 :(得分:0)

正如其他人所说,在评论中,您需要告诉我们什么是例外。如下更改openFile函数:

public void openFile() 
{
    try 
    {
        x = new Scanner(new File("chinese.txt"));
    }
    catch(Exception e) 
    {
        System.out.println("Exception Raised: " + e.getMessage());
    }
}

重新运行它,并告诉我们打印出来的内容。如果问题不在openFile()内,则以与上述相同的方式在readFile()内的代码周围放置一个异常处理程序,并告诉我们它在那里打印的内容。