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

java ftp

作者:卍…`傷`   发布日期:2026-04-25   浏览:92

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

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

public class FTPExample {

    public static void main(String[] args) {
        String server = "ftp.example.com";
        int port = 21;
        String user = "username";
        String pass = "password";

        FTPClient ftpClient = new FTPClient();
        try {
            // 连接到FTP服务器
            ftpClient.connect(server, port);
            // 登录到FTP服务器
            ftpClient.login(user, pass);
            ftpClient.enterLocalPassiveMode();
            ftpClient.setFileType(FTP.BINARY_FILE_TYPE);

            // 下载文件
            String remoteFile = "/remote/path/to/file.txt";
            String localFilePath = "local/path/to/file.txt";
            OutputStream outputStream = new FileOutputStream(localFilePath);
            boolean success = ftpClient.retrieveFile(remoteFile, outputStream);
            outputStream.close();

            if (success) {
                System.out.println("文件下载成功");
            } else {
                System.out.println("文件下载失败");
            }

        } catch (IOException ex) {
            ex.printStackTrace();
        } finally {
            try {
                if (ftpClient.isConnected()) {
                    ftpClient.logout();
                    ftpClient.disconnect();
                }
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
    }
}

解释说明

  1. 导入必要的库

    • org.apache.commons.net.ftp.FTPorg.apache.commons.net.ftp.FTPClient 是用于处理FTP连接的核心类。
    • java.io.FileOutputStreamjava.io.OutputStream 用于处理文件的输入输出流。
  2. 创建FTP客户端实例

    • 使用 FTPClient 类创建一个FTP客户端实例,用于与FTP服务器进行通信。
  3. 连接和登录到FTP服务器

    • 使用 connect 方法连接到指定的FTP服务器。
    • 使用 login 方法登录到FTP服务器,提供用户名和密码。
  4. 设置传输模式和文件类型

    • 使用 enterLocalPassiveMode 设置为被动模式,以确保在防火墙后面也能正常工作。
    • 使用 setFileType 设置文件传输类型为二进制模式(适合大多数文件类型)。
  5. 下载文件

    • 使用 retrieveFile 方法从远程服务器下载文件到本地路径。
    • 成功后关闭输出流,并根据返回值判断下载是否成功。
  6. 异常处理和资源释放

    • 捕获并处理可能发生的IO异常。
    • 最后确保断开与FTP服务器的连接,并注销用户。

上一篇:java map转json字符串

下一篇:java <<

大家都在看

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 中文站