1

我正在使用读取行从维基百科获取一些文本。但是 read line 只返回列表,而不是我想要的文本。有没有办法使用替代方案或解决我的问题?

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

1 回答 1

2

实例readLine()上的方法肯定会返回一个 String。在您的代码示例中,您在 while 循环中执行了两次 readLine() 。首先,您将其存储在:BufferedReaderinputLine

while ((inputLine = in.readLine()) != null)

然后您将(下一行)存储在其中TEST而不检查它是否为null. 尝试传递inputLine而不是传递TESTrender方法。

于 2011-06-02T20:12:43.910 回答