要批量上傳文件到服務器,可以使用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
方法登出并斷開與服務器的連接。