Java文件I/O -ftp忙中出错读取文件错误
问题描述:
我应该创建多个ftpproxyclient对象或单一一个就够由于它扔FTP忙于处理文件错误?Java文件I/O -ftp忙中出错读取文件错误
ftp = new FtpProxyClient(this.getFTPServername(hrGroupName), this.ftpPort,
ftpUserName, getFTPPassword(hrGroupName));
ftp.setBinaryMode();
is = ftp.getFile(feedFileName);
//做一些处理并检查剩余的文件:
for (int i = personHeadDTO.getValueN().intValueExact() + 2; i < sequenceNo.intValueExact(); i++) {
fileName = feedFileName
.replace(".", "_" + i + ".");
下面的代码抛出FTP是忙中出错:
if(ftp.isFileExists(fileName)){
body1.append(fileName);
}
else{
body1.append(fileName+" (Not Available in archive folder).");
}
body1.append(newline);
}
答
如果我删除线:
ftp.changeDirectory("prxdpshr");
和
ftp.getFile(feedFileName);
我越来越没有错误,似乎有一个问题,当我得到一个文件,然后使用ftpclient对象做一些操作。
String feedFileName="intusa35a.csv";
ftp = new FtpProxyClient("server", 21,
"user", "pass");
ftp.setBinaryMode();
ftp.changeDirectory("prxdpshr");
ftp.getFile(feedFileName);
ftp.changeDirectory("prxdpshr/archive_bkp");
is=ftp.isFileExists("intusa35a.csv");
is1=ftp.isFileExists("HR_Dorf_FeedFile.csv");
//lin = new LineNumberReader(new InputStreamReader(is));
//lin1 = new LineNumberReader(new InputStreamReader(is1));
String fileName="";
StringBuffer body1=new StringBuffer();
for (int i = 4 ; i < 10; i++) {
fileName = feedFileName
.replace(".", "_" + i + ".");
if(ftp.isFileExists(fileName)){
body1.append(fileName);
}
else{
body1.append(fileName+" (Not Available in archive folder).");
}
body1.append("\n");
}
}
我已经使用了一个单独的ftpclient检查空虚。
如果服务器说它正忙,也许服务器很忙。您需要解决问题的根源,或者继续尝试,直到解决问题。 ;) – 2012-08-14 10:40:03
我可以使用相同的FtpProxyClient对象来读取所有的文件名.. – ashwinsakthi 2012-08-14 10:41:18
一个ftp客户端就是您所需要的。我建议尝试使用首先不太常用的FTP服务器进行测试。 – 2012-08-14 10:42:00