Java - 从网站加载文本的最有效方式?

时间:2012-07-29 18:30:51

标签: java url web

我有一个问题要问你们。我想要速度,我需要经常使用这种方法,所以这种方法效率越高越好。

我的代码:

private void method(final String name) {
    final URL url = new URL("http://www.somewebsite.com/blah.php?name=" + name);
    final BufferedReader in = new BufferedReader(new InputStreamReader(url.openConnection().getInputStream()));
    final String totalText = in.readLine();
    in.close();
    //other stuff using the totalText variable
}

此方法有效,但我问是否有更多有效的方式来实现此目的。

重要说明关于我正在阅读的代码:

  • 网站上的整个源代码只有一个行。
  • 网站代码中包含 HTML标记。这都是原始文字。

1 个答案:

答案 0 :(得分:2)

1。如果一行代码,因为您已更改了问题,请执行以下操作...                 仅使用InputStreamScanner

final URL url = new URL("http://www.somewebsite.com/blah.php?name=" + name);
InputStream i = url.openStream();
Scanner scan = new Scanner(i);
final String totalText = scan.nextLine();

2. 如果有多行,我会建议你不要每次都创建一个String对象,因为在堆上创建对象很贵。 /强>

这些 2以下行将在堆上创建大量String对象

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

totalText += inputLine;

使用 StringBuilder Mutable ,最后使用toString()方法将其分配给String引用。

<强>例如

StringBuilder totalText;
   String ftotal;

   while ((inputLine = in.readLine()) != null) {
    totalText.append(inputLine);
}


   ftotal = totalText.toString();