Re: Speeding up URLConnection
- From: "Oliver Wong" <owong@xxxxxxxxxxxxxx>
- Date: Wed, 30 Aug 2006 16:29:20 GMT
<mark13.pl@xxxxxxxxx> wrote in message news:1156946176.878142.50630@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hello,
I want to save as a string html file. My code looks like that:
URL url = new URL(fileName);
URLConnection conn = url.openConnection();
conn.setRequestProperty("Cookie", myCookieCode);
conn.connect();
BufferedReader dis = new BufferedReader(new
InputStreamReader(conn.getInputStream()));
String inputLine = null;
for(;;) {
inputLine = dis.readLine();
htmlCode += inputLine;
if (inputLine == null) break;
}
It works perfectly (in htmlCode I have the whole page as I wanted) but
it has very big disadvantage - it is VERY slow. In both my browsers
(Firefox, IE6.0, cache cleaned) it takes about 2seconds to load it
while in java: about 14seconds. Do you know where is a problem and how
can I speed it up??
If you have a profiler, you should use it to measure where your code is spending all your time. However, from a quick glance, my guess is that the slowestp art is string concatenation. Use a StringBuilder instead:
URL url = new URL(fileName);
URLConnection conn = url.openConnection();
conn.setRequestProperty("Cookie", myCookieCode);
conn.connect();
BufferedReader dis = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuilder tempHtmlCode = new StringBuilder();
do {
String inputLine = dis.readLine();
tempHtmlCode.append(inputLine);
} while (inputLine != null)
htmlCode = tempHtmlCode.toString();
- Oliver
.
- References:
- Speeding up URLConnection
- From: mark13 . pl
- Speeding up URLConnection
- Prev by Date: Re: newbie java design question
- Next by Date: Re: robot gui approach
- Previous by thread: Speeding up URLConnection
- Next by thread: Re: Speeding up URLConnection
- Index(es):
Relevant Pages
|
|