java获取远程图片

/**
 * 
 */
package com.test;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.net.HttpURLConnection;
import java.net.URL;


public class GetImageTest {
	public static void main(String args[]) {
		String fileUrl = "http://h.hiphotos.baidu.com/album/w%3D2048/sign=1b9b0fe5e7cd7b89e96c3d833b1c43a7/a8773912b31bb0513785bc07377adab44aede078.jpg";
		String savePath = "d:\\test.jpg";
		try {
			URL url = new URL(fileUrl);
			HttpURLConnection connection = (HttpURLConnection) url.openConnection();
			DataInputStream in = new DataInputStream(connection.getInputStream());
			DataOutputStream out = new DataOutputStream(new FileOutputStream(savePath));
			byte[] buffer = new byte[4096];
			int count = 0;
			while ((count = in.read(buffer)) > 0) {
				out.write(buffer, 0, count);
			}
			out.close();
			in.close();
			connection.disconnect();

		} catch (Exception e) {
			System.out.println(e + fileUrl + savePath);
		}
	}
}


http://liao0904.blog.163.com/blog/static/54280910201112393126424/


### Java远程图片URL获取输入流示例 以下是通过Java实现根据图片URL远程获取输入流的示例代码: ```java import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; public class RemoteImageStreamExample { public static InputStream getRemoteImageInputStream(String imageUrl) throws Exception { URL url = new URL(imageUrl); // 创建URL对象 [^1] HttpURLConnection connection = (HttpURLConnection) url.openConnection(); // 打开连接 [^2] connection.setRequestMethod("GET"); // 设置请求方式为GET [^3] connection.setConnectTimeout(5000); // 设置连接超时时间 [^4] connection.setReadTimeout(5000); // 设置读取超时时间 [^4] int responseCode = connection.getResponseCode(); // 获取响应码 if (responseCode == HttpURLConnection.HTTP_OK) { // 如果响应成功,则返回输入流 return connection.getInputStream(); } else { throw new RuntimeException("Failed to retrieve image, HTTP error code : " + responseCode); } } public static void main(String[] args) { String imageUrl = "https://example.com/sample.jpg"; // 替换为目标图片的实际URL地址 try (InputStream inputStream = getRemoteImageInputStream(imageUrl)) { if (inputStream != null) { System.out.println("Successfully retrieved the remote image stream."); // 可在此处处理输入流,例如保存到本地或进一步操作 } } catch (Exception e) { e.printStackTrace(); } } } ``` 上述代码实现了以下功能: - 使用`HttpURLConnection`类打开指定图片URL的HTTP连接。 - 配置连接参数(如请求方法、超时设置等),以确保能够稳定地获取数据。 - 判断HTTP响应状态码是否为200(表示成功)。如果成功,则调用`getInputStream()`方法获取输入流。 #### 注意事项 - 输入流需及时关闭以释放资源。可以使用try-with-resources语句自动管理资源生命周期。 - 若目标服务器需要身份验证或其他特殊配置,请额外设置相应的请求头字段。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值