Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/filemanager/FtpFileManagerImpl.java =================================================================== diff -u -r26796 -r26861 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/filemanager/FtpFileManagerImpl.java (.../FtpFileManagerImpl.java) (revision 26796) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/filemanager/FtpFileManagerImpl.java (.../FtpFileManagerImpl.java) (revision 26861) @@ -46,9 +46,10 @@ return false; } }; + ftp.enterLocalPassiveMode(); FTPFile[] list = ftp.listFiles(targetRoute, filter); if(list != null && list.length > 0){ - file = ftp.listFiles(targetRoute, filter)[0]; + file = list[0]; } } catch (Exception e) { throw new IOException("获取文件"+ fileName +"失败"); @@ -144,6 +145,7 @@ public FTPFile[] getListFiles(FTPClient ftp, String path, FTPFileFilter filter){ FTPFile[] files = null; try { + ftp.enterLocalPassiveMode(); files = ftp.listFiles(path,filter); appLogManager.saveLog(AcegiHelper.getLoginUser(), Log.MODEL_DEVICE_INTERFACE, Log.TYPE_QUERY, String.format("读取[%s]下的文件,文件数量[%s]", getCurrentPath(ftp),files.length)); } catch (IOException e2) { @@ -217,8 +219,9 @@ ftp.connect(ip, port); // 设置用户名和密码 ftp.login(userName, pwd); - // 设置连接超时时间,5000毫秒 - ftp.setConnectTimeout(50000); + // 设置连接超时时间,30000毫秒 + ftp.setConnectTimeout(30000); + ftp.setBufferSize(1024*1024); // 设置中文编码集,防止中文乱码 ftp.setControlEncoding("UTF-8"); if (!FTPReply.isPositiveCompletion(ftp.getReplyCode())) {