ftpClient.enterLocalPassiveMode(); // 这一句话一定要记得加上
ftpClient.connect(hostname, port);
boolean loginflag = ftpClient.login(username, pwd);
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE); // 设置文件类型(二进制)
InputStream inputStream =null;
inputStream=ftpClient.retrieveFileStream(path);//返回为空
可能存在3个问题导致返回为null,1 :
文件路径没有编码,使用inputStream=ftpClient.retrieveFileStream(new String(path.getBytes("utf-8"),"iso-8859-1"));
2: ftp用户没有登录上或者没有权限
3: 如果断点续传或下载设置了 ftpClient.setRestartOffset(startPosition)的,,文件类型可能没有选对,必须是二进制,ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE); // 设置文件类型(二进制)