JAVA获取网络图片并保存到本地(随机图片接口)

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import javax.net.ssl.HttpsURLConnection;

public class FirstTest {

	public static void main(String[] args) throws Exception {
		// TODO 自动生成的方法存根
		
		long start=System.currentTimeMillis();
		System.out.println("开始");
		
		for(int i=1;i<=100;i++) {
//			double r=(0+Math.random()*10000);
//			System.out.println(r);
			String url="https://source.unsplash.com/random";//一个随机图片接口
//			+(0+Math.random()*10000);可以在random后面加入一个随机数避免图片重复
			getImg(url,i);
			System.out.println("完成"+i);
		}
		long end=System.currentTimeMillis();
		System.out.println("运行时间:"+(end-start)/1000+"秒");
	
	
	}
	private static void getImg(String u,int i){
		URL url;
		try {
			url = new URL(u);
			HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
			conn.setRequestMethod("GET");
			conn.setConnectTimeout(5*1000);
			InputStream in = conn.getInputStream();
			byte[] data = readInputStream(in);
			File f = new File("C:\\Users\\Administrator\\Desktop\\img\\"+i+".jpg");
			FileOutputStream out = new FileOutputStream(f);
			out.write(data);
			out.close();
		} catch (IOException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
		}
	
	}

	private static byte[] readInputStream(InputStream ins) throws IOException {
		// TODO 自动生成的方法存根
		ByteArrayOutputStream out = new ByteArrayOutputStream();
		byte[] buffer = new byte[1024];
		int len = 0;
		while ((len = ins.read(buffer)) != -1) {
			out.write(buffer, 0, len);

		}
		ins.close();

		return out.toByteArray();
	}

}

猜你喜欢

转载自blog.csdn.net/LuyuchengQAQ/article/details/80053473