0

現在、次の方法があります。

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();
        }

ただし、単語が含まれているかどうかを確認するにはどうすればよいですか? これまでスキャナーを使用したことがなく、このスニペットをオンラインで見つけました。

ありがとうございました。

4

1 に答える 1

1

わかりました、これまでのところ良さそうです。

その後、Scanner の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 チュートリアルから、「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-ブロックに入れ、 anおよびいくつかのさまざまなcatchをキャッチします。しかし、これで始められるはずです。IOExceptionURLExceptions

于 2013-03-11T23:30:55.490 に答える