从Internet获取数据
利用HttpURLConnection对象,我们可以从网络中获取网页数据.
URL url = newURL("http://www.sohu.com");
HttpURLConnection conn =(HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5*1000);//设置连接超时
conn.setRequestMethod(“GET”);//以get方式发起请求
if (conn.getResponseCode()!= 200) throw new RuntimeException("请求url失败");
InputStream is =conn.getInputStream();//得到网络返回的输入流
String result = readData(is,"GBK");
conn.disconnect();
//第一个参数为输入流,第二个参数为字符集编码
public static StringreadData(InputStream inSream, String charsetName) throws Exception{
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = -1;
while( (len = inSream.read(buffer)) != -1 ){
outStream.write(buffer,0, len);
}
byte[] data = outStream.toByteArray();
outStream.close();
inSream.close();
return new String(data, charsetName);
}
从Internet获取数据
利用HttpURLConnection对象,我们可以从网络中获取文件数据.
URL url = newURL("http://photocdn.sohu.com/20100125/Img269812337.jpg");
HttpURLConnection conn =(HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5*1000);
conn.setRequestMethod("GET");
if (conn.getResponseCode()!= 200) throw new RuntimeException("请求url失败");
InputStream is =conn.getInputStream();
readAsFile(is,"Img269812337.jpg");
public static voidreadAsFile(InputStream inSream, File file) throws Exception{
FileOutputStream outStream = new FileOutputStream(file);
byte[] buffer = new byte[1024];
int len = -1;
while( (len = inSream.read(buffer)) != -1 ){
outStream.write(buffer,0, len);
}
outStream.close();
inSream.close();
}