我正在使用读取行从维基百科中获取一些文本。但读取行只返回列表,而不是我想要的文本。有没有办法使用替代方案或解决我的问题?
public class mediawiki {
public static void main(String[] args) throws Exception {
URL yahoo = new URL(
"http://en.wikipedia.org/w/index.php?title=Jesus&action=raw"
);
BufferedReader in = new BufferedReader(
new InputStreamReader(yahoo.openStream())
);
String inputLine;
//http://en.wikipedia.org/w/index.php?title=Space&action=raw
while ((inputLine = in.readLine()) != null) {
String TEST = in.readLine();
//while ((inputLine = in.readLine()) != null)
//System.out.println(inputLine);
//This basicly reads each line, using
//the read line command to progress
WikiModel wikiModel = new WikiModel(
"http://www.mywiki.com/wiki/${image}",
"http://www.mywiki.com/wiki/${title}"
);
String plainStr = wikiModel.render(
new PlainTextConverter(),
TEST
);
System.out.print(plainStr);
}
}
}
答案 0 :(得分:2)
readLine()
实例definitely returns a String上的方法BufferedReader
。在您的代码示例中,您在while循环中执行readLine()两次。首先将其存储在inputLine
:
while ((inputLine = in.readLine()) != null)
然后您在TEST
中存储(下一个行)而不检查它是否为null
。尝试将inputLine
而不是TEST
传递给render
方法。