java怎么批量上传文件到服务器

54次阅读
没有评论

共计 1410 个字符,预计需要花费 4 分钟才能阅读完成。

要批量上传文件到服务器,可以使用 Java 中的 FTP 客户端库来实现。以下是一个使用 Apache Commons Net 库的示例代码:

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

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class FTPUploader {private static final String SERVER = "ftp.example.com";
    private static final int PORT = 21;
    private static final String USERNAME = "username";
    private static final String PASSWORD = "password";

    public static void main(String[] args) {FTPClient ftpClient = new FTPClient();
        try {ftpClient.connect(SERVER, PORT);
            ftpClient.login(USERNAME, PASSWORD);

            ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
            ftpClient.enterLocalPassiveMode();

            File directory = new File("path/to/directory");
            File[] files = directory.listFiles();

            if (files != null) {for (File file : files) {if (file.isFile()) {String remoteFile = file.getName();
                        FileInputStream inputStream = new FileInputStream(file);

                        ftpClient.storeFile(remoteFile, inputStream);
                        inputStream.close();

                        System.out.println("Uploaded file: " + remoteFile);
                    }
                }
            }

            ftpClient.logout();} catch (IOException e) {e.printStackTrace();
        } finally {try {ftpClient.disconnect();
            } catch (IOException e) {e.printStackTrace();
            }
        }
    }
}

在代码中,需要替换以下变量的值:

  • SERVER:FTP 服务器地址
  • PORT:FTP 服务器端口号
  • USERNAME:FTP 登录用户名
  • PASSWORD:FTP 登录密码
  • "path/to/directory":要上传的文件所在的本地目录路径

代码首先创建一个 FTPClient 实例,并使用 connect 方法连接到 FTP 服务器。然后使用 login 方法进行登录。接下来,设置文件传输类型为二进制,并进入本地被动模式。然后,通过 listFiles 方法获取本地目录中的文件列表。对于每个文件,使用 storeFile 方法将文件上传到服务器,并使用 close 方法关闭文件流。最后,使用 logout 方法登出并断开与服务器的连接。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-13发表,共计1410字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)