이 코드는 BufferedReader를 포함하고 있으며 웹 사이트에서 HTML 데이터를 읽습니다. 그러나 내가로드하는 사이트의 모든 페이지에는 600 줄의 HTML이 포함되어 있으므로 매번 데이터를 읽는 데 오랜 시간이 걸립니다. 나는 (예를 들어) 문자/단어 'on'으로 시작하는 줄을 읽지 않아도 코드를보다 효율적으로 만들고 싶습니다. 이 작업을 수행 할 수 있습니까? 이건 내 코드입니다 :Android Http BufferedReader를보다 효율적으로 만드실 수 있나요?
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"으로 시작하는 줄을 필터링하는 방법은 전체 줄을 먼저 읽지 않아도됩니까?