java如何关闭Zehon FTP连接
在我的代码中,有一次我不得不将70-80个文件上传到FTP服务器
最好的方案是创建一个连接,上传20个文件,然后关闭它。直到所有文件上传完毕。 我尝试了每个文件的不同连接。。。那是一场灾难
但是,我找不到任何disconnect()或close()函数可以关闭连接。。。我唯一发现的是一个静态函数closeCache(),它只建议在关闭软件之前使用。。。所以不是真的为我工作
在上传了25个文件后,我总是收到“服务器关闭连接”异常
我可能不太了解这个API
public static boolean uploadFiles() {
int count = 0;
FTPClient ftpClient = new FTPClient(SERVER, USER, PASSWORD);
try {
if (!Tools.isListNullOrEmpty(xmlFilesToBeUploaded)) {
for (File xmlFile : xmlFilesToBeUploaded) {
if (count == MAX_FILES_PER_CONNECTION) {
count = 0;
ftpClient = null;
ftpClient = new FTPClient(SERVER, USER, PASSWORD);
}
// "/" for root folder
ftpClient.sendFile(xmlFile.getAbsolutePath(), "/");
count++;
}
}
xmlFilesToBeUploaded = null;
if (!Tools.isListNullOrEmpty(imageFilesToBeUploaded)) {
for (File imageFile : imageFilesToBeUploaded) {
if (count == MAX_FILES_PER_CONNECTION) {
count = 0;
ftpClient = null;
ftpClient = new FTPClient(SERVER, USER, PASSWORD);
}
// "/" for root folder
ftpClient.sendFile(imageFile.getAbsolutePath(), "/" + IMAGES_FOLDER);
count++;
}
}
imageFilesToBeUploaded = null;
return true;
} catch (FileTransferException e) {
Log.error(e);
return false;
}
}
# 1 楼答案
不过,我使用了ApacheCommons库,它完成了我需要的工作,并且在开发中更加灵活