为什么windows下的FTP服务能正常下载数据,而HP-UNIX下则总是空。public File downloadRes(String fileName) {
FTPClient ftpClient = this.login();
OutputStream is = null;
File ret = null;
try {
FTPFile[] remoteFiles = ftpClient.listFiles(p.getRemoteResDir());//获取配置目录路径,并得到目录下文件列表
if (remoteFiles != null) {
for (int i = 0; i < remoteFiles.length; i++) {
FTPFile f = remoteFiles[i];
if (f.getName().equals(fileName)) {
ret = new File(p.getLocalDir() + ret.separator + f.getName());
is = new FileOutputStream(ret);
boolean su = ftpClient.retrieveFile(f.getName(), is);//这里返回的值在WINDOWS下的FTP为true,即可以取得值;在HP-UNIX下则为false,即没数据.但都可以获取remoteFiles文件列表(断点看过了)
is.flush();
/*InputStream in = ftpClient.retrieveFileStream(f.getName());
BufferedInputStream bis = new BufferedInputStream(in);*/

log.debug(i+"____________________"+su+"_______________");
is.close();
is = null;
break;
}
}
if (ret == null) {
log.error("您要下载的文件" + fileName + "还没有上传,请稍候再试!");
}
}
} catch (Exception e) {
e.printStackTrace();
log.error(e);
} finally {
this.logout(ftpClient);
if (is != null) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
log.error(e);
}
is = null;
}
}
return ret;
}