diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/ftp/Ftp.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/ftp/Ftp.java index bf7309a92..3bc8a72e5 100644 --- a/hutool-extra/src/main/java/org/dromara/hutool/extra/ftp/Ftp.java +++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/ftp/Ftp.java @@ -12,6 +12,7 @@ package org.dromara.hutool.extra.ftp; +import org.dromara.hutool.core.collection.CollUtil; import org.dromara.hutool.core.collection.ListUtil; import org.dromara.hutool.core.io.file.FileUtil; import org.dromara.hutool.core.io.IORuntimeException; @@ -350,6 +351,18 @@ public class Ftp extends AbstractFtp { return ArrayUtil.map(lsFiles(path), FTPFile::getName); } + /** + * 遍历某个目录下所有文件和目录,不会递归遍历
+ * 此方法自动过滤"."和".."两种目录 + * + * @param path 目录 + * @param predicate 过滤器,null表示不过滤,默认去掉"."和".."两种目录 + * @return 文件名或目录名列表 + */ + public List ls(final String path, final Predicate predicate) { + return CollUtil.map(lsFiles(path, predicate), FTPFile::getName); + } + /** * 遍历某个目录下所有文件和目录,不会递归遍历
* 此方法自动过滤"."和".."两种目录