通过阅读网站创建拼写检查

时间:2016-12-05 03:33:36

标签: java dictionary

对于我的计算机科学课,我们要创建一个程序,让用户输入一个单词,我们接受该单词并猜测它是否拼写正确。我们将这个词输入dictionary.com并从他们那里阅读。

我们将他们输入的单词添加到dictionary.com网址,然后我们检查该单词是否显示在网站上。如果它确实拼写正确,然后如果不是它拼写不正确。以下是阅读网址的代码:

URL url = new URL("http://www.dictionary.com/search?q=" + word);

        // open a buffered reader on the url
        InputStream inStr = url.openStream();

        BufferedReader reader = 
          new BufferedReader(new InputStreamReader(inStr));

当他们拼写正确的单词时,一切都很好但是当他们拼写错误时它会抛出一个未找到异常的文件。这是因为如果你在dictionary.com上搜索一个单词就会改变链接。通常在哪里" www.dictionary.com/search?q = word"它更改为" http://www.dictionary.com/misspelling?term=wrod&s=t"

因为它更改了链接,它会抛出异常并且程序不起作用。有人对我应该做什么或改变有任何建议吗?谢谢!

1 个答案:

答案 0 :(得分:0)

我同意高度评价你应该捕获异常的评论,但我建议你使用HttpURLConnection类用给定的单词对dictionary.com进行GET调用。如果您按照下面的模式,仍然可以捕获来自该站点的任何错误流。并且您应该能够解析响应并检查以确保它实际上来自错误的单词。某些其他原因可能会发生异常,您不应将其视为未找到的单词。

String url = "http://www.dictionary.com/search?q=" + word";

URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");

int responseCode = con.getResponseCode();
// check the response code if you wish
InputStream inputStream = null;
try {
    inputStream = con.getInputStream();
}
catch (IOException exception) {
    inputStream = con.getErrorStream();
}
BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));

<强>更新

我刚尝试输入无法找到的单词,HTTP响应代码为404。因此,您可以只检查404的响应代码,或者更彻底,甚至可以解析错误流。