Java上传文件到远程服务器 自动创建文件夹

在实际开发中,我们经常需要将本地文件上传到远程服务器上,同时也需要在远程服务器上创建对应的文件夹来存放这些文件。本文将介绍如何使用Java实现这一功能。

准备工作

在开始之前,我们需要确保已经引入了Apache Commons Net这个库,该库提供了一些用于FTP操作的工具类。可以通过Maven来引入这个库:

<dependency>
    <groupId>commons-net</groupId>
    <artifactId>commons-net</artifactId>
    <version>3.3</version>
</dependency>

上传文件到远程服务器

首先,我们需要连接到远程服务器,然后创建文件夹并上传文件。下面是一个简单的Java代码示例:

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

public class FTPUploader {

    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 {
            ftpClient.connect(server, port);
            ftpClient.login(user, pass);
            ftpClient.enterLocalPassiveMode();
            ftpClient.setFileType(FTP.BINARY_FILE_TYPE);

            String remoteDirPath = "/path/to/remote/directory";
            String fileName = "example.txt";
            InputStream inputStream = new FileInputStream("local/path/to/example.txt");

            if (!ftpClient.changeWorkingDirectory(remoteDirPath)) {
                ftpClient.makeDirectory(remoteDirPath);
                ftpClient.changeWorkingDirectory(remoteDirPath);
            }

            ftpClient.storeFile(fileName, inputStream);
            inputStream.close();
            ftpClient.logout();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (ftpClient.isConnected()) {
                    ftpClient.disconnect();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

总结

通过上面的代码示例,我们可以实现将本地文件上传到远程服务器并自动创建对应的文件夹。在实际项目中,可以根据需要对代码进行修改和优化,以满足具体的业务需求。

希望本文对大家有所帮助,谢谢阅读!

journey
    title 上传文件到远程服务器
    section 连接服务器
        FTPClient连接服务器
    section 创建文件夹
        创建文件夹并上传文件