Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java下载文件到本地指定目录

作者:泪﹌无痕   发布日期:2026-05-05   浏览:56

import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.net.HttpURLConnection;

public class DownloadFile {

    public static void main(String[] args) {
        String fileURL = "http://example.com/file.zip"; // 文件的URL
        String saveDir = "C:\\path\\to\\save"; // 保存文件的本地目录
        String fileName = "file.zip"; // 保存的文件名

        try {
            downloadFile(fileURL, saveDir, fileName);
            System.out.println("文件下载成功!");
        } catch (IOException e) {
            System.out.println("文件下载失败: " + e.getMessage());
        }
    }

    public static void downloadFile(String fileURL, String saveDir, String fileName) throws IOException {
        URL url = new URL(fileURL);
        HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
        int responseCode = httpConn.getResponseCode();

        // 检查HTTP响应码是否为200,表示请求成功
        if (responseCode == HttpURLConnection.HTTP_OK) {
            String saveFilePath = saveDir + "\\" + fileName;

            try (BufferedInputStream in = new BufferedInputStream(httpConn.getInputStream());
                 FileOutputStream fileOutputStream = new FileOutputStream(saveFilePath)) {

                byte[] dataBuffer = new byte[1024];
                int bytesRead;
                while ((bytesRead = in.read(dataBuffer, 0, 1024)) != -1) {
                    fileOutputStream.write(dataBuffer, 0, bytesRead);
                }
            }
        } else {
            throw new IOException("No file to download. Server replied HTTP code: " + responseCode);
        }
        httpConn.disconnect();
    }
}

解释说明:

  1. 导入必要的包:使用java.iojava.net包来处理文件输入输出和网络连接。
  2. 定义main方法:设置文件的URL、保存路径和文件名,并调用downloadFile方法进行下载。
  3. downloadFile方法
    • 使用URL对象打开连接。
    • 检查HTTP响应码是否为200(表示请求成功)。
    • 如果成功,则创建文件输出流并读取输入流的数据写入到本地文件。
    • 使用BufferedInputStreamFileOutputStream高效地读写数据。
  4. 异常处理:捕获并处理可能发生的IO异常。

如果需要修改文件URL、保存路径或文件名,可以直接修改代码中的相应变量。

上一篇:java list to string

下一篇:java实体转json字符串

大家都在看

java url decode

java判断是windows还是linux

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java list 查找

java 解压rar

jsonobject.tojavaobje

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站