.readLine()/ readLine的替代方法仅返回列表

时间:2011-06-02 19:59:14

标签: java eclipse bufferedreader readline wikimedia-dumps

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

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

1 个答案:

答案 0 :(得分:2)

readLine()实例definitely returns a String上的方法BufferedReader。在您的代码示例中,您在while循环中执行readLine()两次。首先将其存储在inputLine

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

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