Java 源代码html不';下载不完整
我试着获取HTML内容,除了一件事之外,所有的东西都可以找到。它没有下载完整的代码,也没有跳过我想要提取的内容(图像的URL、名称),我只有空白类“obrazek” 以下是我用来获取源代码的代码:Java 源代码html不';下载不完整,java,android,Java,Android,我试着获取HTML内容,除了一件事之外,所有的东西都可以找到。它没有下载完整的代码,也没有跳过我想要提取的内容(图像的URL、名称),我只有空白类“obrazek” 以下是我用来获取源代码的代码: String SourceCode(String adres) throws IllegalStateException, IOException { HttpClient httpClient = new DefaultHttpClient(); HttpContext
String SourceCode(String adres) throws IllegalStateException, IOException
{
HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
HttpGet httpGet = new HttpGet(adres);
HttpResponse response = null;
try {
response = httpClient.execute(httpGet, localContext);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
BufferedReader reader = new BufferedReader(
new InputStreamReader(response.getEntity().getContent()
)
);
String result = "";
while(reader.readLine() != null)
{
result += reader.readLine();
}
reader.close();
return result;
谢谢您的帮助:)您每次跳过一行。应该是
StringBuilder result = new StringBuilder();
String line;
while((line = reader.readLine()) != null)
{
result.append(line);
}
reader.close();
return result.toString();
顺便说一句-我以前避免每次迭代都创建新的字符串对象-非常推荐。每次跳过一行。应该是
StringBuilder result = new StringBuilder();
String line;
while((line = reader.readLine()) != null)
{
result.append(line);
}
reader.close();
return result.toString();
顺便说一句-每次迭代我都避免创建新的字符串对象-非常推荐。谢谢!完美工作:)我没有注意到那个bug/非常感谢。完美工作:)我没有注意到那个bug/如果可能的话,可以查看ApacheCommons或一些HTML解析器来将InputStream转换为字符串(我不知道在Android中是否有效)。比使用BufferedReader快得多。我做了一个webcrawler,使用BufferedReader太慢了。如果可能的话,看看ApacheCommons或一些HTML解析器,将InputStream转换成字符串(我不知道在Android中是否有效)。比使用BufferedReader快得多。我做了一个webcrawler,使用BufferedReader太慢了。