FTP流读取参考文章: https://my.oschina.net/u/2342969/blog/10308920
import cn.hutool.extra.ftp.Ftp;
import com.cdtye.itps.cms.util.FtpUtil;
import org.apache.commons.net.ftp.FTPClient;
import java.io.InputStream;
import java.util.Objects;
public class FTPTest {
public static void main(String[] args) {
try (Ftp ftp = FtpUtil.getConnect()) {
FTPClient client = ftp.getClient();
InputStream inputStream = null;
try {
// 开始主动模式 解决linux读取问题
client.enterLocalPassiveMode();
// 设置读取文件类型 解决部分文件下载后无法打开的问题,比如png图片无法读取
client.setFileType(FTPClient.BINARY_FILE_TYPE);
inputStream = client.retrieveFileStream("FTP路径");
if (Objects.nonNull(inputStream)) {
// 拿到流做事情
}
} catch (Exception e) {
} finally {
if (Objects.nonNull(inputStream)) {
inputStream.close();
}
//重点是这两行,解决假死问题
client.sendNoOp();
client.completePendingCommand();
}
} catch (Exception e) {
}
}
}
