阅读量:1
要批量上传文件到服务器,可以使用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
方法登出并断开与服务器的连接。