Java实现下载文件功能到本地电脑中,附源码和截图

Posted 秋9

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java实现下载文件功能到本地电脑中,附源码和截图相关的知识,希望对你有一定的参考价值。

实现下载文件功能到本地电脑的完整源码

package com.example.springbootdownloadfile.file;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class DownFileBaiduPic 
    private static Logger logger = LoggerFactory.getLogger(DownFileBaiduPic.class);
    public static void main(String[] args) 
        String filerootpath="E:\\\\resource";
        String url="https://t7.baidu.com/it/u=3569419905,626536365&fm=193&f=GIF";
        String fileName="demo.png";
        download(url,filerootpath+"\\\\"+fileName);
    

    /**
     * 文件下载
     *
     * @param fileUrl
     *      文件url,如:<code></code>
     * @param fileName
     *      存放路径,如: /opt/img/douban/my.webp
     */
    public static void download(String fileUrl, String fileName) 
        // 判断存储文件夹是否已经存在或者创建成功
        if(!createFolderIfNotExists(fileName)) 
            return;
        

        InputStream in = null;
        FileOutputStream out = null;
        try 
            URL url = new URL(fileUrl);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            // 2s
            conn.setConnectTimeout(10000);
            in = conn.getInputStream();

            out = new FileOutputStream(fileName);

            int len;
            byte[] arr = new byte[1024 * 1000];
            while (-1 != (len = in.read(arr))) 
                out.write(arr, 0, len);
            
            out.flush();
            conn.disconnect();
         catch (Exception e) 
            e.printStackTrace();
         finally 
            try 
                if (null != out) 
                    out.close();
                
                if (null != in) 
                    in.close();
                
             catch (Exception e) 
                // do nothing
            
        
    

    /**
     * 创建文件夹,如果文件夹已经存在或者创建成功返回true
     *
     * @param path
     *      路径
     * @return boolean
     */
    private static boolean createFolderIfNotExists(String path) 
        File folder = new File(path);
        if (!folder.exists()) 
            try 
                return folder.createNewFile();
             catch (IOException e) 
                e.printStackTrace();
            
        
        return  true;
    


 

运行效果:

以上是关于Java实现下载文件功能到本地电脑中,附源码和截图的主要内容,如果未能解决你的问题,请参考以下文章

Python实现物流管理系统(附源码)

CentOS7下安装RabbitMQ,并使用Spring Boot实现一个简单的延迟队列(小白教程,附源码)

leaflet地图全图以及框选截图导出功能(附源码下载)

C# 实现视频预览功能(附源码)

Java实现浏览器端大文件分片上传源码

Java实现浏览器端大文件分片上传源码