6

我使用 HttpURLConnection.getInputStream() 下载了一个网页并将内容获取到一个字符串,我执行以下方法:

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 的处理速度很慢。还有另一种方法可以更快地将内容获取到字符串?

我将其转换为字符串以插入数据库。

4

4 回答 4

2

按字节数读入缓冲区,而不是像行这样的任意东西。仅此一项就应该是加快速度的良好开端,因为读者不必找到行尾。

于 2011-05-06T17:59:32.917 回答
1

改用 a StringBuffer

编辑一个例子:

StringBuffer buffer=new StringBuffer();

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

String result=buffer.toString();
于 2011-05-06T17:59:34.693 回答
0

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

于 2011-05-06T17:58:43.477 回答
0

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

于 2012-08-09T14:39:01.770 回答