获取String的网页内容非常慢

时间:2011-05-06 17:55:36

标签: java webpage bufferedreader

我使用HttpURLConnection.getInputStream()下载了一个网页,并将内容转换为String,我执行以下方法:

String content="";
isr = new InputStreamReader(pageContent);
br = new BufferedReader(isr);
try {
    do {
            line = br.readLine();
            content += line;
        } while (line != null);
        return content;
    } catch (Exception e) {
        System.out.println("Error: " + e);
        return null;
    }

页面下载速度很快,但将内容传递给String的处理速度非常慢。还有另一种方法可以更快地将内容传递给String吗?

我将它转换为String以插入数据库。

4 个答案:

答案 0 :(得分:2)

按字节数读取缓冲区,而不是像行一样任意的东西。仅此一点应该是加快这一点的良好开端,因为读者不必找到线路末端。

答案 1 :(得分:1)

改为使用StringBuffer

编辑示例:

StringBuffer buffer=new StringBuffer();

for(int i=0;i<20;++i)
  buffer.append(i.toString());

String result=buffer.toString();

答案 2 :(得分:0)

使用blob / clob将内容直接放入数据库。 逐行构建字符串并将其放入数据库的任何具体原因??

答案 3 :(得分:0)

我正在使用jsoup来获取页面的指定内容,这里是基于jquery和jsoup的Web演示来捕获网页的任何内容,您应该为需要捕获的页面内容指定ID或类:http://www.gbin1.com/technology/democenter/20120720jsoupjquerysnatchpage/index.html