我们有一个FTP服务器,可以存储高达10MB的数据 - 用于存储数据 配置文件,将在所有其他设备之间共享。 每次启动时,所有设备都将下载配置 来自FTP服务器的文件,并根据数据配置设备。
每次启动时,我们的设备都会识别文件数量并基于 在结果上,将下载配置文件。
一旦我们观察到,FTP服务器中的文件计数为0 - 我们 发现FTP服务器上发生了Power Flctuation。
因此,下次设备假定FTP服务器没有文件,所以上传了新文件。
实际问题 - 为什么FTP中的数据被删除/删除?请帮助我找出这个问题的根本原因。
日志
2015-03-30 04:15:56,978 - In DownLoad: listACMFiles: No. of Files in FTP is: 9
2015-03-30 04:52:14,910 - In DownLoad: listACMFiles: No. of Files in FTP is: 9
2015-03-30 17:20:41,165 - In DownLoad: listACMFiles: No. of Files in FTP is: 9
2015-03-30 19:29:48,472 - In DownLoad: listACMFiles: Unable to Read the FTP
2015-03-30 19:29:49,383 - In DownLoad: listACMFiles: No. of Files in FTP is: 0
2015-03-30 20:33:29,165 - In DownLoad: listACMFiles: No. of Files in FTP is: 9
JAR使用 - commons-net-1.4.1.jar
代码
import java.io.IOException;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.log4j.Logger;
public class FTPFileOpertaions {
Logger logger = Logger.getLogger(FTPFileOpertaions.class);
private int downloadFiles(FTPClient configDataFtp) {
boolean result = false;
FTPFile[] fileList = null;
int noOfFiles = 0;
logger.info("In DownLoad: Listing the files:");
for (int iLoop = 0; iLoop < 3; iLoop++) {
try {
fileList = configDataFtp.listFiles();
noOfFiles = fileList.length;
result = true;
} catch (IOException e) {
logger.error("In DownLoad: listACMFiles: Unable to Read the FTP");
} catch (Exception e) {
logger.error("In DownLoad: listACMFiles: Unable to Read the FTP");
}
if (result) {
break;
}
}
// Return if the file list retrieval fails.
if(!result){
return result;
}
logger.info("In DownLoad: listACMFiles: No. of Files in FTP is: "
+ noOfFiles);
return noOfFiles;
}
}
请帮助我找出这个问题的根本原因。