21xrx.com
2025-04-16 11:51:56 Wednesday
文章检索 我的文章 写文章
如何使用Java下载文件:代码案例及详细教程
2023-06-16 16:01:39 深夜i     7     0

在 Java 中,下载文件可能是最常见的操作之一。无论是从 Web 服务器下载文件,还是从 FTP 服务器或其他资源下载文件,Java 都提供了一种简便的方法来实现。

下面展示了如何使用 Java 下载文件的代码案例,同时提供了详细的教程,包括:

1. 使用 Java URL 类下载文件的方法

2. 使用 Apache Commons IO 库下载文件的方法

3. 使用 Java NIO 下载文件的方法

代码案例:

1. 使用 Java URL 类下载文件的方法

import java.io.*;
import java.net.URL;
public class FileDownloader {
  public static void downloadFile(String fileURL, String fileName) throws IOException {
    URL url = new URL(fileURL);
    InputStream inputStream = url.openStream();
    OutputStream outputStream = new FileOutputStream(fileName);
    byte[] buffer = new byte[2048];
    int length;
    while ((length = inputStream.read(buffer)) != -1) {
      outputStream.write(buffer, 0, length);
    }
    inputStream.close();
    outputStream.close();
  }
}

下载与以下 URL 对应的文件:

String fileURL = "http://www.example.com/file.pdf";
String fileName = "file.pdf";
FileDownloader.downloadFile(fileURL, fileName);

2. 使用 Apache Commons IO 库下载文件的方法

import org.apache.commons.io.FileUtils;
import java.io.IOException;
import java.net.URL;
public class FileDownloader {
  public static void downloadFile(String fileURL, String fileName) throws IOException {
    URL url = new URL(fileURL);
    FileUtils.copyURLToFile(url, new File(fileName));
  }
}

下载与以下 URL 对应的文件:

String fileURL = "http://www.example.com/file.pdf";
String fileName = "file.pdf";
FileDownloader.downloadFile(fileURL, fileName);

3. 使用 Java NIO 下载文件的方法

import java.io.IOException;
import java.net.URL;
import java.nio.channels.Channels;
import java.nio.channels.ReadableByteChannel;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class FileDownloader {
  public static void downloadFile(String fileURL, String fileName) throws IOException {
    URL website = new URL(fileURL);
    ReadableByteChannel rbc = Channels.newChannel(website.openStream());
    Path path = Paths.get(fileName);
    Files.createDirectories(path.getParent());
    FileOutputStream fos = new FileOutputStream(fileName);
    fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
    fos.close();
    rbc.close();
  }
}

下载与以下 URL 对应的文件:

String fileURL = "http://www.example.com/file.pdf";
String fileName = "file.pdf";
FileDownloader.downloadFile(fileURL, fileName);

关键词:

1. Java 下载文件

2. URL 类下载文件

3. Apache Commons IO 下载文件

  
  

评论区

请求出错了