问题背景:
最近有一个系统对接需求,采用了古老的ftp交换文件方式来对接。于是我用了commons-net包的3.6版本来进行ftp的连接和文件的传输。连接ftp成功,登录也没问题,但是在传输文件的时候会卡住,程序没有往下走,一段时间后抛异常。传输文件的代码如下(顺便提一下如果你连都连不上,那先理清架构,问下你们运维是不是用了代理,如果用了代理,java代码里面需要设置使用代理连接)
//初始化ftpclient
initFtpClient();
//切换路径
ftpClient.changeWorkingDirectory(pathname);
InputStream inputStream = null;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] dataBytes;
try{
//卡在下面这一行!!
FTPFile[] ftpFiles = ftpClient.listFiles();
for(FTPFile file : ftpFiles){
if(file.getName().startsWith(filenamePrefix)){
inputStream = ftpClient.retrieveFileStream(pathname+file.getName());
break;
}
}
byte