public class HttpDownloader {
/**
 * 根据URL下载文件,前提是这个文件当中的内容是文本,函数的返回值就是文件当中的内容
 * 1.创建一个URL对象
 * 2.通过URL对象,创建一个HttpURLConnection对象
 * 3.得到InputStram
 * 4.从InputStream当中读取数据
 * @param urlStr
 * @return
 */
public String download(String urlStr) {

StringBuffer sb = new StringBuffer();
String line = null;
BufferedReader buffer = null;
try {
// 创建一个URL对象
URL url = new URL(urlStr);
// 创建一个Http连接
HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
System.out.println("urlConn---> " + urlConn);//(1)
// 使用IO流读取数据
buffer = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));//(2)
System.out.println("buffer---> " + buffer);//(3)
while ((line = buffer.readLine()) != null) {
sb.append(line);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
buffer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return sb.toString();
}
}
我的代码在执行(1)时,打印urlConn有数据值,接着执行(2)时就跳到catch了,语句(3)根本不被执行,有好心人帮我看看什么问题吗?说明一下,打印出的urlConn应该是正确的,用了www.baidu.com测试也是一样的问题。