图片下载
public static void main(String[] args) { List<String> urlList = new ArrayList<String>(); urlList.add("http://www.neeq.com.cn/uploads/1/image/public/201606/20160615155145_kugr388dtr.png"); uploadImg(urlList); } private static void uploadImg(List<String> urlList){ String filepath = "C:\\Users\\huage\\Desktop\\n3b_nq\\secrities_img"; if( urlList != null && urlList.size() > 0 ){ for (int i = 0; i < urlList.size(); i++) { String url = urlList.get(i); try { getImages(url, filepath+"\\"+i+url.substring(url.lastIndexOf("."))); } catch (Exception e) { System.out.println(e.getMessage()+":------------>"+url); } } } } /** * 图片路径 * @param urlPath * @param fileName:图片存放地址,和名称 * @throws Exception */ public static void getImages(String urlPath,String fileName) throws Exception{ URL url = new URL(urlPath);//:获取的路径 //:http协议连接对象 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setReadTimeout(6 * 10000); if (conn.getResponseCode() <10000){ InputStream inputStream = conn.getInputStream(); byte[] data = readStream(inputStream); FileOutputStream outputStream = new FileOutputStream(fileName); outputStream.write(data); outputStream.close(); } } /** * 读取url中数据,并以字节的形式返回 * @param inputStream * @return * @throws Exception */ public static byte[] readStream(InputStream inputStream) throws Exception{ ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = -1; while((len = inputStream.read(buffer)) !=-1){ outputStream.write(buffer, 0, len); } outputStream.close(); inputStream.close(); return outputStream.toByteArray(); }
本文详细介绍了一种使用Java批量下载并保存网络图片的方法。通过示例代码展示了如何利用HttpURLConnection进行图片的GET请求,设置超时时间,以及如何处理响应,将图片流转换为字节数组并保存到本地指定路径。此方法适用于需要自动化下载大量图片的场景。
1万+

被折叠的 条评论
为什么被折叠?



