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

发布于 2024-11-14 02:34:06 字数 1176 浏览 3 评论 0原文

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

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

I'm using read line to get some text from wikipedia. But read line only returns lists, not the text that I want. Is there any way to use an alternative or to solve my problem?

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

じ违心 2024-11-21 02:34:06

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

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

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

The method readLine() on a BufferedReader instance definitely returns a String. In your code example, you are doing readLine() twice in your while loop. First you store it in inputLine:

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

Then you are storing (the next line) in TEST without checking if it is null. Try to pass inputLine instead of TEST to the render method.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文