Java 基础教程

Java 面向对象

Java 高级教程

Java 笔记

Java FAQ

java ftp下载文件


在 Java 中,你可以使用多种方式来实现 FTP 文件下载。我将为你介绍两种常用的方法:使用 Apache Commons Net 库和使用 JDK 内置的 FTP 相关类。

方法一:使用 Apache Commons Net 库

Apache Commons Net 是一个常用的网络操作库,它提供了许多网络协议的实现,包括 FTP。

步骤流程:

添加 Maven 依赖:

<!-- Maven 依赖 -->
<dependency>
    <groupId>commons-net</groupId>
    <artifactId>commons-net</artifactId>
    <version>3.8.0</version>
</dependency>

编写代码:

import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;

import java.io.FileOutputStream;
import java.io.IOException;

public class FtpDownloadExample {
    public static void main(String[] args) {
        String server = "ftp.example.com";
        int port = 21;
        String user = "username";
        String password = "password";
        String remoteFilePath = "/path/to/remote/file.txt";
        String localFilePath = "local/file.txt";

        FTPClient ftpClient = new FTPClient();
        try {
            ftpClient.connect(server, port);
            ftpClient.login(user, password);
            ftpClient.enterLocalPassiveMode();
            ftpClient.setFileType(FTP.BINARY_FILE_TYPE);

            FileOutputStream outputStream = new FileOutputStream(localFilePath);
            boolean success = ftpClient.retrieveFile(remoteFilePath, outputStream);
            outputStream.close();

            if (success) {
                System.out.println("File downloaded successfully.");
            } else {
                System.out.println("File download failed.");
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                ftpClient.disconnect();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

方法二:使用 JDK 内置的 FTP 相关类

Java 的标准库中也提供了一些用于 FTP 操作的类,例如 URLConnectionURL

步骤流程:

编写代码:

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

public class FtpDownloadUsingURL {
    public static void main(String[] args) {
        String ftpUrl = "ftp://username:password@ftp.example.com/path/to/remote/file.txt";
        String localFilePath = "local/file.txt";

        try {
            URL url = new URL(ftpUrl);
            URLConnection connection = url.openConnection();
            InputStream inputStream = connection.getInputStream();

            FileOutputStream outputStream = new FileOutputStream(localFilePath);
            byte[] buffer = new byte[1024];
            int bytesRead;
            while ((bytesRead = inputStream.read(buffer)) != -1) {
                outputStream.write(buffer, 0, bytesRead);
            }

            outputStream.close();
            inputStream.close();
            System.out.println("File downloaded successfully.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

请注意,第二种方法依赖于 Java 标准库,因此不需要添加额外的依赖。根据你的需求和项目配置,选择适合你的方式。在实际应用中,你需要替换示例代码中的服务器、用户名、密码、文件路径等信息。

在Java中批量下载FTP服务器上的文件有多种方式,其中一些常见的方式包括使用ApacheCommonsNet库和使用Java的内置类库。# ...
在Java中进行文件下载有多种方式,其中一些主要的方式包括使用Java标准库(java.示例代码:###使用ApacheHttpClient ...
下面我将介绍三种常见的方法:使用Java标准库的URLConnection,使用ApacheHttpClient库,以及使用Java的NIO ...
以下是三种常见的实现方式,包括步骤流程、Maven和Gradle的依赖坐标以及示例代码:###使用ApacheCommonsNet库Apac ...
###使用ApacheCommonsNet库ApacheCommonsNet是一个常用的Java库,它提供了FTP客户端的功能。步骤流程:添 ...