0

我正在使用 Java 从网页中获取一大块 HTML。现在我正在使用带有 getInputStream() 的 URLConnection,它正在加载整个页面并且花费的时间比我想要的要长一点。无论如何,它是否可以仅加载我需要的块或排除图像或其他任何可以加速它的东西。任何帮助表示赞赏。谢谢你。

这是一些代码:

URL page = new URL("http://www.stackoverflow.com");
URLConnection connection = page.openConnection();
String html = getResponseData(connection);


public static String getResponseData(URLConncetion connection) {
StringBuffer sb = new StringBuffer();
InputStream is = connection.getInputStream();
int count;
while((count=is.read()) != -1){
    sb.append((char)count);
}
4

1 回答 1

1

我认为您可以尝试在该 while 循环中找到实际数据,并在找到后立即中止。

旁注,您的代码只会加载 HTML。不是真实的图像。它们不是您在请求页面时获得的响应的一部分。

更新:您还可以缓冲您的输入流。它可以使输入更快。您可以按以下方式执行此操作

InputStream is = new BufferedInputStream(connection.getInputStream());
于 2012-08-01T14:55:19.040 回答