如何快速读取一个网上的文件!

lifan5748 2006-04-12 03:00:24
http://computing.unn.ac.uk/staff/cgpb2/web/Customers.html
上面这个链接中文件有很多数据,用浏览器打开是很快的,但是我用自己的程序去读它html代码,发现读的很慢,要读两三分钟。我把那个buffer缓冲区调大就容易出错,最大只能1024了。 请问有什么快点的方法吗?

URLConnection con = null;
BufferedReader in = null;
try
{
char[] buffer =new char[1024];
URL u = new URL(url);
con = u.openConnection();
in = new BufferedReader(new InputStreamReade(con.getInputStream()));
while(in.read(buffer) != -1)
{
s=s + String.valueOf(buffer);
}

in.close();
}
catch(Exception e)
{
System.out.println("页面读取失败!");
e.printStackTrace();
in.close(); }
}
...全文
199 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
开发者开聊 2006-04-14
  • 打赏
  • 举报
回复
s=s + String.valueOf(buffer);

s=s + new String(buffer,"GBK");

那里换成泥网页的编码


nighthawk 2006-04-12
  • 打赏
  • 举报
回复
开源的HtmlParser,专门用来解析HTML的,相信比你自己写解析效率要高。
http://htmlparser.sourceforge.net/
aywrenyue 2006-04-12
  • 打赏
  • 举报
回复
同意
lcllcl987(毛爷爷)
因为String的“+”运算符。
效率特别低!
二StringBuffer的append()
效率就高多了!
/////////////////////////////
楼主可以google一下
String 的“+”操作符效率有多低
lcllcl987 2006-04-12
  • 打赏
  • 举报
回复
s=s + String.valueOf(buffer);
这句有问题,效率低下。
你的s估计是String吧?
把s 改为StringBuffer,然后
把s=s + String.valueOf(buffer)改为s.append(buffer)
估计会快许多
Nuage 2006-04-12
  • 打赏
  • 举报
回复
我的用了一分半钟!呵呵!
yjh133 2006-04-12
  • 打赏
  • 举报
回复
帮顶,

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧