java-根据图片地址下载到本地

该博客提供了一个Java代码示例,用于从指定URL列表批量下载图片,并将它们保存到特定的文件夹中。代码中设定了超时时间,并使用了文件输出流进行写入操作。整个过程在try-catch块中处理异常,确保资源的正确关闭。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.tiandy.zhfz.accesszonemanage.core.utils;

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.Arrays;
import java.util.List;

/**
 * @authoer: fengwen
 * @createDate: 2022/8/1 13:39
 * @description:
 */
public class FileUtils {

    public static void main(String[] args) throws Exception {


        download(Arrays.asList(
                "http://10.50.13.192:9017/image/202208011036_48080fc866df4b32951d7afd3702069f",
                "http://10.50.13.192:9017/image/202208011036_08e683a610bb4b34832aca1281560442",
                "http://10.50.13.192:9017/image/202207291750_936238a2d8dd4250a844843aa1f8d6cc"));

    }

    public static final String savePath = "/home/apps/plugins/TdPluginAccessZoneManage/web/download/";
//    public static final String savePath = "D://image";
    public static final String fileType = ".png";

    public static void download(List urlStringList) {
        OutputStream os = null;
        InputStream is = null;
        try {
            for (Object urlStringObj : urlStringList) {
                String urlString = (String) urlStringObj;
                // 构造URL
                URL url = new URL(urlString);
                // 打开连接
                URLConnection con = url.openConnection();
                //设置请求超时为5s
                con.setConnectTimeout(5 * 1000);
                // 输入流
                is = con.getInputStream();
                // 1K的数据缓冲
                byte[] bs = new byte[1024];
                // 读取到的数据长度
                int len;
                // 路径
                String filename = urlString.substring(urlString.lastIndexOf("/"));
//                System.out.println(filename);
//                String str = urlString.split(filename)[0];
//                System.out.println(str);
//                String[] split = str.split("//");
//                int i = split[1].indexOf("/");
//                String substring = split[1].substring(i);
//                System.out.println(substring);

                // 输出的文件流
                File sf = new File(savePath);
                if (!sf.exists()) {
                    sf.mkdirs();
                }
                os = new FileOutputStream(sf.getPath() + filename+fileType);
                // 开始读取
                while ((len = is.read(bs)) != -1) {
                    os.write(bs, 0, len);
                }
//                System.out.println("下载完成");
            }
            // 完毕,关闭所有链接
            os.close();
            is.close();
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            try {
                if(null != os){
                    os.close();
                }
                if(null != is){
                    is.close();
                }
            }catch (Exception e){
                e.printStackTrace();
            }
        }

    }

}

参考:java下载图片到指定文件夹_熟悉的新风景的博客-优快云博客_java下载图片保存到指定目录下

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值