J'ai ce code, qui contient un BufferedReader et lit les données HTML d'un site web. Cependant, chaque page du site que je charge contient environ 600 lignes de HTML, ce qui prend beaucoup de temps pour lire les données à chaque fois. Je veux que le code soit plus efficace en ne lisant pas les lignes qui commencent (par exemple) par les lettres/mots 'on'. Cela peut-il être fait ? Voici mon code :
public String getInternetData(String s) throws Exception {
BufferedReader in = null;
try{
HttpClient client = new DefaultHttpClient();
URI website = new URI(s);
HttpGet request = new HttpGet();
request.setURI(website);
HttpResponse response = client.execute(request);
in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
StringBuffer sb = new StringBuffer("");
String l = "";
String nl = System.getProperty("line.seperator");
while(((l = in.readLine()) != null)){
sb.append(l+nl);
}
in.close();
return sb.toString();
}finally{
try {
if(in != null) {
in.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
}
Ce code fonctionne parfaitement et renvoie une chaîne contenant le code HTML de la page Web entière. Existe-t-il un moyen de filtrer les lignes commençant par "on", sans lire la ligne entière au préalable ?