Läsa in en hel htmlsida via internet i java..och det snabbt!!
Jag ska läsa in en sida över internet in till mitt javaprogram men jag tycker det går för långsamt samt att jag får error meddelanden på lite större sidor.
Dessa sett har jag testat:
URL url = new URL(urlLink);
// Get an input stream for reading
URLConnection in = url.openConnection();
// Create a buffered input stream for efficency
BufferedReader buf = new BufferedReader(new InputStreamReader(in.getInputStream()));
String inputLine;
while ((inputLine = buf.readLine()) != null){
page += inputLine;
}
buf.close();
den är den snabbaste hittills
URL url = new URL(urlLink);
// Get an input stream for reading
InputStream in = url.openStream();
//InputStream in = new FileInputStream("test.txt");
// Create a buffered input stream for efficency
BufferedInputStream bufIn = new BufferedInputStream(in);
// Repeat until end of file
for (;;)
{
int data = bufIn.read();
// Check for EOF
if (data == -1)
break;
else{
if (data > 31)
page = page+(char)data;
}
}
låååångsamt
Jag vill ha allt på en lång rad så jag kan läsa den. Hellst skulle jag villja parsa den on the fly. för det vore ju snabbast.
har skapat ett reguljärt uttryck och det är bara den informationen som finns i den som jag vill få ut.
Så det jag vill göra är alltså följande (optimalt):
Läsa in information från en hemsida. När information kommer in så kontrolleras den mot mitt reguljära uttryck och det som stämmer på den sparas och hellst då i någon slags vektor eller tokenizer så jag kan få fram den information. och det ska gå fort. Så fort som möljligt och inte som nu. då det tar ca 220000 ms (vilket är på tok för lång tid)
har en dator...