我目前有以下方法:
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();
}
但是,如何检查它是否包含单词?我之前从未使用过扫描仪,我在网上找到了这个代码段。
谢谢。
答案 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
块中使用IOException
和URLExceptions
以及{{1}} {{1}} }。但这应该让你开始。