使用io流实现简易下载图片功能

这是一个Java程序,用于从指定的URL下载图片并将其保存到本地。它首先创建URL对象,然后打开数据输入流读取文件。如果目标目录不存在,程序会创建目录,并将图片以字节数组输出流的形式写入文件。最后,关闭所有相关流。在测试文件中,程序使用了一个具体的URL,将图片保存到特定路径下。
摘要由CSDN通过智能技术生成

首先搞好配置文件

package com.company;

import java.io.*;
import java.net.URL;
import java.util.UUID;
import java.net.MalformedURLException;

public class DownloadPicFormURL {
        public static void downloadPicture(String urlList, String path) {
            URL url = null;
            try {
                url = new URL(urlList);
                DataInputStream dataInputStream = new DataInputStream(url.openStream());  // 文件读取

                // 如果目录不存在就创建目录
                File file = new File(path);
                if(!file.getParentFile().exists()){
                    try {
                        file.getParentFile().mkdirs();
                        file.createNewFile();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }

                FileOutputStream fileOutputStream = new FileOutputStream(file); // 文件写出
                ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
                byte[] buffer = new byte[1024];
                int length;

                while ((length = dataInputStream.read(buffer)) > 0) {
                    outputStream.write(buffer, 0, length);
                }
                fileOutputStream.write(outputStream.toByteArray());

                // 连接关闭
                dataInputStream.close();
                fileOutputStream.close();
                outputStream.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

然后写个测试文件,进行下载测试

package com.company;

import java.util.UUID;

public class DownloadPicTest {
    public static void main(String[] args) {
        String url = "https://editor-ue.588ku.com/?picId=814078&sourceC=master&sourceP=qk_reg_mblb";
        String path="C:\\Users\\大魔王\\Pictures\\Saved Pictures";
        DownloadPicFormURL.downloadPicture(url,path + UUID.randomUUID() + ".jpg");
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值