java学习篇(一)从网络下载图片

(1)在java中,通过网络,下载图片。
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

/**
 * 通过URL,从网络下载图片
 * @author TF
 */
public class ImageRequest {

	public static void main(String[] args) throws Exception {
		
		//图片的地址
		URL url = new URL(
				"http://a.vpimg1.com/upload/brand/201407/2014071414241844761.jpg");
		//得到http链接
		HttpURLConnection conn = (HttpURLConnection) url.openConnection();
		//设置请求方法
		conn.setRequestMethod("GET");
		//设置请求超时时间
		conn.setConnectTimeout(5 * 1000);
		// 通过输入流获取图片数据
		InputStream is = conn.getInputStream();
		// 得到图片的二进制数据
		byte[] data = readInputStream(is);

		File imageFile = new File("creep.jpg");
		FileOutputStream outStream = new FileOutputStream(imageFile);
		outStream.write(data);
		outStream.close();
	}
	
	public static byte[] readInputStream(InputStream inStream) throws Exception {
		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
		byte[] buffer = new byte[1024];
		int len = 0;
		while ((len = inStream.read(buffer)) != -1) {
			outStream.write(buffer, 0, len);
		}
		inStream.close();
		return outStream.toByteArray();
	}

}

这样,图片就下载下来了,保存在当前的工程下面。刷新一下工程,就能看见。


(2)在java中,通过网络,解析一个网站,得到它的html代码。

/**
 * 通过URL解析网址,得到html文件
 * @author TF
 */
public class HtmlRequest {
	
	public static void main(String[] args) throws Exception {
		
		URL url = new URL("http://www.baidu.com");
		
		HttpURLConnection conn = (HttpURLConnection) url.openConnection();
		conn.setRequestMethod("GET");
		conn.setConnectTimeout(5 *1000);
		
		//通过输入流获取html数据
		InputStream is = conn.getInputStream();
		//得到html的二进制数据
		byte[] data = readInputStream(is);
		String html = new String(data, "UTF-8");
		
		System.out.println(html);
	}
	
	public static byte[] readInputStream(InputStream instream) throws Exception {
		
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		
		byte[] buffer = new byte[1 * 1024];
		int length = 0;
		
		while(-1 != (length = instream.read(buffer))){
			baos.write(buffer, 0, length);
		}
		instream.close();
		return baos.toByteArray();
	}
}
这样,在控制台就能看到解析完成的百度首页的html代码了...

java学习篇(一)从网络下载图片,布布扣,bubuko.com

java学习篇(一)从网络下载图片

上一篇:【leetcode】Reorder List (python)


下一篇:C++学习笔记33 转换运算符