java读取URL 返回XML 文件1M 浏览器直接打开5秒钟 使用下面代码 却要50多秒 求大神指导

问题描述

Stringurl="
解决方案二:

解决方案三:

解决方案四:

解决方案五:

解决方案六:

解决方案七:
##";URLConnectionuc=null;InputStreamin=null;InputStreamReaderrd=null;List<MatchInfo>mList1=newArrayList<MatchInfo>();try{DatestratDate=newDate();uc=newURL(url).openConnection();uc.setConnectTimeout(10000);uc.setDoOutput(true);in=newBufferedInputStream(uc.getInputStream());rd=newInputStreamReader(in,"UTF-8");java.io.BufferedReaderbr=newjava.io.BufferedReader(rd);Stringtempbf;StringBuffertemp=newStringBuffer();while((tempbf=br.readLine())!=null){temp.append(tempbf);temp.append("rn");}Stringcontent=HttpClientSSL.getContent1(url);System.out.println("抓取结束"+"耗时----"+(stratDate.getTime()-newDate().getTime())/1000.0);

解决方案

解决方案八:
java读取URL返回1M的XML文件浏览器直接打开5秒钟使用代码却要50多秒求大神指导
解决方案:
看看是不是HttpClientSSL.getContent1这个方法里有太慢的写法。
解决方案:
deubg看在什么地方卡了。就知道那步问题了
解决方案:
Stringurl="
解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:
##";URLConnectionuc=null;InputStreamin=null;InputStreamReaderrd=null;List<MatchInfo>mList1=newArrayList<MatchInfo>();try{DatestratDate=newDate();uc=newURL(url).openConnection();uc.setConnectTimeout(10000);uc.setDoOutput(true);in=newBufferedInputStream(uc.getInputStream());rd=newInputStreamReader(in,"UTF-8");java.io.BufferedReaderbr=newjava.io.BufferedReader(rd);Stringtempbf;StringBuffertemp=newStringBuffer();while((tempbf=br.readLine())!=null){temp.append(tempbf);temp.append("rn");}//Stringcontent=HttpClientSSL.getContent1(url);System.out.println("抓取结束"+"耗时----"+(stratDate.getTime()-newDate().getTime())/1000.0);这段被注释掉//Stringcontent=HttpClientSSL.getContent1(url);
解决方案:
Stringcontent=HttpClientSSL.getContent1(url);这前后加个时间看看执行了多长时间。这之前的代码应该很快
解决方案:
这个代码并不多,你可以调适下。
解决方案:
uc=newURL(url).openConnection();应该是这里,因为网络的原因。
解决方案:
另外初始化StringBuffer/StringBuilder时传入一个足够的初始长度。

时间: 2024-10-31 16:41:33

java读取URL 返回XML 文件1M 浏览器直接打开5秒钟 使用下面代码 却要50多秒 求大神指导的相关文章

net文件流 下载-用流下载文件时,下载文件名后的文件名为什么老是当前网页的名称,求大神指导

问题描述 用流下载文件时,下载文件名后的文件名为什么老是当前网页的名称,求大神指导 System.IO.FileInfo file = new System.IO.FileInfo(xpath); Response.Clear(); Response.Charset = "GB2312 "; Response.ContentEncoding = System.Text.Encoding.UTF8; //Response.ContentType = "application/o

java web-自己用javaweb做一个网站(类似论坛) 用户等级成长值这一块不会做,求大神指导!

问题描述 自己用javaweb做一个网站(类似论坛) 用户等级成长值这一块不会做,求大神指导! 自己用javaweb做一个网站(类似论坛) 用户等级成长值这一块不会做,求大神给一个设计模式,求指点!账户刚注册还没有c币,如果有用,吃完有一天我会还的! 解决方案 根据登陆次数,发帖次数,在线时间等来自己计算得到一个加权值.然后归为不同的等级 解决方案二: 我理解的是统计用户在线时间,然后划分等级

suse linux java ftp上传文件名称导致报错,求大神指导

问题描述 suse linux java ftp上传文件名称导致报错,求大神指导 上传时"school_user.questionext.csv"就因为文件名称多了一个"."导致报错 553 Could not create file.

java容器 collection-JAVA中什么是容器?什么是集合?求大神指导

问题描述 JAVA中什么是容器?什么是集合?求大神指导 容器是什么?跟接口是什么关系?集合又是什么?求大神帮忙?????? 解决方案 Java集合容器主要有以下几类: 1,内置容器:数组 2,list容器:Vetor,Stack,ArrayList,LinkedList, CopyOnWriteArrayList(1.5),AttributeList(1.5),RoleList(1.5),RoleUnresolvedList(1.5), ConcurrentLinkedQueue(1.5),Ar

关于java 快速排序问题 这个输出报错 我认为 while 有问题 求大神指导

问题描述 关于java 快速排序问题 这个输出报错 我认为 while 有问题 求大神指导 package QuickSort; import java.util.ArrayList; public class QuickSort { public static void main(String[] args) { ArrayList<Integer> lists = new ArrayList<Integer>(); lists.add(5); lists.add(2); lis

jdbc-将student.txt文件写入sqlserver数据库,学号写不进去,后面就错位了,求大神

问题描述 将student.txt文件写入sqlserver数据库,学号写不进去,后面就错位了,求大神 package sqlConn;import java.io.*;import java.sql.*;import java.util.*;public class Test { public static void main(String[] args) throws Exception{ List students=new LinkedList(); FileReader fin=new

java代码-java程序 求大神指导

问题描述 java程序 求大神指导 1.编写程序删除"C:Documents and SettingsAdministratorLocal SettingsTemporary Internet Files" 和"C:WINDOWSDownloaded Program Files"下所有的TMP文件和JS文件:

驱动开发-求大神指导PCI驱动程序开发中,由于inf文件的问题提示“无法找到需要的软件因此无法安装”

问题描述 求大神指导PCI驱动程序开发中,由于inf文件的问题提示"无法找到需要的软件因此无法安装" 我这里是用的VS2005 driverstudio3.2 和DDk的框架对pci的驱动程序进行开发的 设备ID是对的 但是就是安装不了,找了好久问题但是不知道出在哪里 求大神指导!!!! inf文件如下: ; File Name: PCI9054.inf ; Install information file for PCI9054 Driver ; ; Generated by C D

java中&amp;amp;lt;T&amp;amp;gt;的使用的疑问,以下代码有哪些区别呢,求大神们指教啊。

问题描述 java中<T>的使用的疑问,以下代码有哪些区别呢,求大神们指教啊. public T deleteObject(T entity){ hibernateTemplate.delete(entity); return entity; } public Object deleteObject(Object entity){ hibernateTemplate.delete(entity); return entity; } 解决方案 这两种写法实现的功能一样,但是使用泛型的好处是,你返