我有这段代码,它包含一个 BufferedReader 并从网站读取 HTML 数据。但是,我正在加载的站点的每个页面都包含大约 600 行 HTML,因此每次读取数据都需要很长时间。我希望通过不读取以字母/单词“on”开头的行(例如)来提高代码效率。这可以做到吗?这是我的代码:
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();
}
}
}
此代码完全正常工作,并返回一个包含整个网页 HTML 的字符串。有什么方法可以过滤掉以“on”开头的行,而不先阅读整行?