FTP retrieveFileStream返回值为null

FTP retrieveFileStream返回值为null解决方案

  • 问题描述
    • 解决方案

问题描述

changeWorkingDirectory(path)方法返回为true,ftpClient.getReplyString()返回为125,说明FTP链接正常,目录切换正常。
ftpClient.retrieveFileStream(fileName)方法返回为null,ftpClient.getReplyString()返回为550,在此踩坑很久。

解决方案

解决方案:

  1. FTP权限配置 ,用户读写权限配置;
  2. FTP防火墙开启与关闭 防火墙关闭或端口21开放;
  3. 被动模式设置 ftpClient.enterLocalPassiveMode();// 设置被动模式;
    ftpClient.setFileType(FTP.BINARY_FILE_TYPE);// 设置传输的模式
    *注意设置是在链接ftp后
  4. 编码问题 ftpClient.setControlEncoding(“UTF-8”);// 设置ftp编码;
    new String(fileName.getBytes(LOCAL_CHARSET), SERVER_CHARSET);// 设置文件名编码;
  5. 本地文件路径 本地文件也有权限问题;

欢迎评论补充

你可能感兴趣的:(FTP,linux,服务器,windows)