java使用url下载图片存在byte数组
时间: 2024-11-29 15:35:59 浏览: 23
在Java中,你可以使用java.net.URL和java.io.InputStream来从URL下载图片并将其存储在Byte数组中。以下是一个简单的示例:
```java
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.URL;
public class DownloadImageToByteArray {
public static byte[] downloadImage(String imageUrl) throws Exception {
URL url = new URL(imageUrl);
InputStream inStream = url.openStream();
// 创建一个 ByteArrayOutputStream 来保存数据
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
// 使用BufferedReader读取InputStream内容,并逐块写入到字节数组
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = inStream.read(buffer)) != -1) {
byteArrayOutputStream.write(buffer, 0, bytesRead);
}
// 关闭流
inStream.close();
return byteArrayOutputStream.toByteArray(); // 返回包含图像数据的字节数组
}
}
```
在这个例子中,`downloadImage`方法接收一个URL字符串作为输入,打开一个连接到该URL的输入流,然后将流的内容读取到一个 ByteArrayOutputStream 中,最后关闭流并返回字节数组。
阅读全文