从服务器获取数据步骤:根据http协议
package com.smu;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class Main {
/**
*
* 抓取的图片,保存在c:\image_name.jpg
*/
public static void main(String[] args) {
byte date[] = new byte[1024];
//图片的路径
String url_path = "http://avatar.csdn.net/1/D/9/1_sm_xjz.jpg";
try {
//获取图片的数据
date = getImage(url_path);
//定义一个图片文件,并命名要保存的文件名
File image_file = new File("c:\\image_name.jpg");
FileOutputStream fileOutputStream = new FileOutputStream(image_file);
//将获取图片的数据写入到image_name.jpg
fileOutputStream.write(date);
fileOutputStream.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 从网页获取图片的数据
* @param path
* @return
* @throws Exception
*/
public static byte[] getImage(String path) throws Exception{
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5 * 1000);
InputStream inputStream = conn.getInputStream();
byte data[] = new byte[1024];
int len = 0;
while((len = inputStream.read(data)) != -1){
outputStream.write(data, 0, len);
}
return outputStream.toByteArray();
}
}