问题描述
changeWorkingDirectory(path)方法返回为true,ftpClient.getReplyString()返回为125,说明FTP链接正常,目录切换正常。
ftpClient.retrieveFileStream(fileName)方法返回为null,ftpClient.getReplyString()返回为550,在此踩坑很久。
解决方案
解决方案:
- FTP权限配置 ,用户读写权限配置;
- FTP防火墙开启与关闭 防火墙关闭或端口21开放;
- 被动模式设置 ftpClient.enterLocalPassiveMode();// 设置被动模式;
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);// 设置传输的模式
*注意设置是在链接ftp后 - 编码问题 ftpClient.setControlEncoding(“UTF-8”);// 设置ftp编码;
new String(fileName.getBytes(LOCAL_CHARSET), SERVER_CHARSET);// 设置文件名编码; - 本地文件路径 本地文件也有权限问题;
欢迎评论补充