解决JavaFTP上传文件假死问题
之前使用ftp上传文件,代码很稳定,用了快三年,因为数据迁移,从搭建了ftp服务器,配置好ip和账号密码后,再使用之前代码发现: 在下载过程中,程序出现假死的现象,就是,既不报错,也不抛异常,还不终止,就是一直卡着不动,没法定位问题,自己研究了好长时间,也不知道怎么回事,后来上网又查了查,有人提出了一个方法,真心好用,在这里分享下: 解决方案: 在调用FTPClient.listFiles()或者FTPClient.retrieveFile()方法前,调用FTPClient.enterLocalPassiveMode()! //创建FTP连接 ftp.setDefaultPort(//FTP端口号); ftp.connect(//FTP服务IP地址); ftp.login(//FTP用户名,//密码); ftp.setBufferSize(1024); //设置文件类型(二进制) ftp.setFileType(ftp.BINARY_FILE_TYPE); //每次数据连接之前,ftp client告诉ftp server开通一个端口来传输数据 ftp.enterLocalPassiveMode(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |