JAVA:如何检查网站文档是否包含单词?

时间:2013-03-11 23:25:24

标签: java web

我目前有以下方法:

try {
           URL url = new URL("http://auth.h.gp/HAKUNA%20MATATA.txt");
           Scanner s = new Scanner(url.openStream());
        }
        catch(IOException ex) {
           BotScript.log("Something went wrong =/ Error code:");
           ex.printStackTrace();
           stop();
        }

但是,如何检查它是否包含单词?我之前从未使用过扫描仪,我在网上找到了这个代码段。

谢谢。

1 个答案:

答案 0 :(得分:1)

好的,到目前为止看起来很不错。

然后,您可以使用扫描仪的next()方法获取每个单词。您还可以查询hasNext()以查看是否有其他令牌可用以避免错误。

boolean foundPumbaa = false;
while (s.hasNext()) {
    if (s.next().equalsIgnoreCase("pumbaa")) {
        foundPumbaa = true;
        System.out.println("We found Pumbaa"); // do something
        break;
    }
}
if (!foundPumbaa) {
    System.out.println("We didn't find Pumbaa");
}

编辑以回应评论:
是的,您可以将文字转换为String。最好的方法是使用BufferedReader

来自Java Tutorial, "Reading Directly from a URL"

  

以下小型Java程序使用openStream()来获取输入   URL http://www.oracle.com/上的流。然后打开一个   输入流上的BufferedReader并从BufferedReader读取   从而从URL读取。阅读的所有内容都被复制到了   标准输出流:

import java.net.*;
import java.io.*;

public class URLReader {
    public static void main(String[] args) throws Exception {

        URL oracle = new URL("http://www.oracle.com/");
        BufferedReader in = new BufferedReader(
        new InputStreamReader(oracle.openStream()));

        String inputLine;
        while ((inputLine = in.readLine()) != null)
            System.out.println(inputLine);
        in.close();
    }
}

在真实的程序中,而不是main throws Exception,您可以在try - catch块中使用IOExceptionURLExceptions以及{{1}} {{1}} }。但这应该让你开始。