Java通过URL类下载图片的实例代码
短信预约 -IT技能 免费直播动态提醒
Java通过URL类下载图片
一、概述
URL(Uniform Resource Locator) :统一资源定位符,它表示 Internet 上 某一 资源 的地址。 它是一种具体的 URI ,即 URL 可以用来标识一个资源,而且还指明了如何 locate 这个资源。 通过 URL 我们可以访问 Internet 上的各种网络资源,比如最常见的 www , ftp 站点。浏览器通过解析给定的 URL 可以在网络上查找相应的文件或其他资源。 URL 的基本结构由 5 部分组成: < 传输协议 >://< 主机名 >:< 端口号 >/< 文件名 ># 片段名 ? 参数列表
二、通过URL下载图片
HttpsURLConnection httpsURLConnection = null;
InputStream is = null;
FileOutputStream fos = null;
try {
//1.创建URL对象
URL url = new URL("/file/imgs/upload/202302/22/23vwdkbnjob.jpg"));
//4.输出图片
byte[] buffer = new byte[1024];
int len;
while ((len = is.read(buffer)) != -1) {
fos.write(buffer, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
//5.关闭资源
try {
if (is != null)
is.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
if (fos != null)
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
if (httpsURLConnection != null)
httpsURLConnection.disconnect();
}
扩展:java通过url获取图片文件
1. 根据url下载Url中的图片
import java.net.URL;
import java.io.InputStream;
import java.io.FileOutputStream;
public class ImageDownloader {
public static void main(String[] args) throws Exception {
// URL of the image to download
String imageUrl = "https://example.com/image.jpg";
// Create URL object and open input stream to the image
URL url = new URL(imageUrl);
InputStream inputStream = url.openStream();
// Output stream to save the image to file
FileOutputStream outputStream = new FileOutputStream("image.jpg");
// Read bytes from the input stream and write to the output stream
byte[] buffer = new byte[2048];
int length;
while ((length = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, length);
}
// Close streams
inputStream.close();
outputStream.close();
System.out.println("Image downloaded successfully.");
}
}
2. 根据get请求url下载Url中的图片
import java.net.URL;
import java.io.InputStream;
import java.io.FileOutputStream;
public class ImageDownloader {
public static void main(String[] args) throws Exception {
// URL of the image to download
String imageUrl = "https://example.com/image.jpg";
// Create URL object and open input stream to the image
URL url = new URL(imageUrl);
InputStream inputStream = url.openStream();
// Output stream to save the image to file
FileOutputStream outputStream = new FileOutputStream("image.jpg");
// Read bytes from the input stream and write to the output stream
byte[] buffer = new byte[2048];
int length;
while ((length = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, length);
}
// Close streams
inputStream.close();
outputStream.close();
System.out.println("Image downloaded successfully.");
}
}
3. 考虑url中携带中文,需要做转义
imageUrl = URLEncoder.encode(imageUrl, "utf-8")
.replaceAll("%3A", ":")
.replaceAll("%2F", "/")
.replaceAll("%2C", ",")
.replaceAll("%7B", "{")
.replaceAll("%3F","?")
.replaceAll("%7D", "}")
.replaceAll("%26","&")
.replaceAll("%3D","=");
//new一个URL对象
URL url = new URL(imageUrl);
到此这篇关于Java通过URL类下载图片的文章就介绍到这了,更多相关java通过URL类下载图片内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341