java IOUtils下载图片

摘要:
importjava.io.File;importjava.io.FileOutputStream;importjava.io.io异常;importjava.io.InputStream;importjava.net.URL;importorg.apache.mons.io.FileUtils;importorg.apachemons.io.IOUtils;公共图书馆
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;

import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;

public class ImgDownload {

    public static void main(String[] args) {
        downloadHttpUrl("https://www.baidu.com/img/bd_logo1.png", "D:/test/", "test.png");
    }

    public static String downloadHttpUrl(String url, String dir, String fileName) {  
        try {  
            URL httpurl = new URL(url);  
            File f = new File(dir + fileName);  
            FileUtils.copyURLToFile(httpurl, f);  
        } catch (Exception e) {  
            e.printStackTrace();  
            return null;  
        }  
        return dir + fileName;  
    }  
    
    public static FileOutputStream openOutputStream(File file) throws IOException {  
        if (file.exists()) {  
            if (file.isDirectory()) {  
                throw new IOException("File '" + file + "' exists but is a directory");  
            }  
            if (file.canWrite() == false) {  
                throw new IOException("File '" + file + "' cannot be written to");  
            }  
        } else {  
            File parent = file.getParentFile();  
            if (parent != null && parent.exists() == false) {  
                if (parent.mkdirs() == false) {  
                    throw new IOException("File '" + file + "' could not be created");  
                }  
            }  
        }  
        return new FileOutputStream(file);  
    }  
    
    public static void copyURLToFile(URL source, File destination) throws IOException {  
        InputStream input = source.openStream();  
        try {  
            FileOutputStream output = openOutputStream(destination);  
            try {  
                IOUtils.copy(input, output);  
            } finally {  
                IOUtils.closeQuietly(output);  
            }  
        } finally {  
            IOUtils.closeQuietly(input);  
        }  
    }  
    
}

免责声明:文章转载自《java IOUtils下载图片》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇zip 压缩文件夹spring工具类获取bean下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Netty-主从Reactor多线程模式的源码实现

Netty--主从Reactor多线程模式的源码实现 总览 EventLoopGroup到底是什么? EventLoopGroup是一个存储EventLoop的容器,同时他应该具备线程池的功能。 graph BT; EventLoopGroup --> EventExecutorGroup; EventExecutorGroup -->...

常用数据库连接池

1、使用数据库连接池优化程序性能 2、数据库连接池编写原理分析 (1)编写连接池需实现javax.sql.DataSource接口。DataSource接口中定义了两个重载的getConnection方法: ConnectiongetConnection() ConnectiongetConnection(Stringusername,Stri...

php 学习try_catch测试抛出异常

/** * Class show * 一个catch接收抛出异常 */ classshow { //错误的演示 //try { //require ('test_try_catch.php'); //} catch (Exception $e) { //echo $e->getMessage();...

python 异常处理(25)

在python开发中,代码书写时难免有疏忽或者意向不到的bug,导致程序run的过程中有可能会直接崩溃;然后对于程序猿而言,程序因bug崩溃是家常便饭,为了增加程序的健壮性,防止程序崩溃,我们可以对程序的有可能发生崩溃的代码增加异常处理,以达到程序稳健运行的目的。 一.异常的概念 一般情况,python无法正常处理程序时,就是会产生异常,举个例子: 1....

C# XML文件操作类XmlHelper

类的完整代码:using System;using System.Collections;using System.Xml;namespace Keleyi.Com.XmlDAL{public class XmlHelper{#region 公共变量XmlDocument xmldoc;XmlNode xmlnode;XmlElement xmlelem;#...

c#socket编程基础

Microsoft.NetFramework为应用程序访问Internet提供了分层的、可扩展的以及受管辖的网络服务,其名字空间System.Net和System.Net.Sockets包含丰富的类可以开发多种网络应用程序。.Net类采用的分层结构允许应用程序在不同的控制级别上访问网络,开发人员可以根据需要选择针对不同的级别编制程序,这些级别几乎囊括了Int...