diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d71bbe2f..fe0f37050 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ ### 🐣新特性 * 【poi 】 优化ExcelWriter中使用比较器writer的方法,只对第一条数据进行排序(pr#3807@Github) +* 【extra 】 优化Ftp.download,返回false抛出异常(issue#3805@Github) ### 🐞Bug修复 * 【crypto 】 修复JWTSignerUtil.createSigner中algorithmId未转换问题(issue#3806@Github) diff --git a/hutool-extra/src/main/java/cn/hutool/extra/ftp/Ftp.java b/hutool-extra/src/main/java/cn/hutool/extra/ftp/Ftp.java index 9bdc9fac2..96fbd275e 100755 --- a/hutool-extra/src/main/java/cn/hutool/extra/ftp/Ftp.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/ftp/Ftp.java @@ -708,9 +708,11 @@ public class Ftp extends AbstractFtp { if (null != fileNameCharset) { fileName = new String(fileName.getBytes(fileNameCharset), StandardCharsets.ISO_8859_1); } + + boolean isSuccess; try { client.setFileType(FTPClient.BINARY_FILE_TYPE); - client.retrieveFile(fileName, out); + isSuccess = client.retrieveFile(fileName, out); } catch (IOException e) { throw new IORuntimeException(e); } finally { @@ -718,6 +720,10 @@ public class Ftp extends AbstractFtp { cd(pwd); } } + + if(false == isSuccess){ + throw new FtpException("retrieveFile return false"); + } } /**