diff --git a/hutool-extra/src/main/java/cn/hutool/extra/ftp/AbstractFtp.java b/hutool-extra/src/main/java/cn/hutool/extra/ftp/AbstractFtp.java index 052e79de6..bdf7d657a 100644 --- a/hutool-extra/src/main/java/cn/hutool/extra/ftp/AbstractFtp.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/ftp/AbstractFtp.java @@ -73,7 +73,12 @@ public abstract class AbstractFtp implements Closeable { * @since 5.7.5 */ public boolean isDir(String dir) { - return cd(dir); + final String workDir = pwd(); + try { + return cd(dir); + } finally { + cd(workDir); + } } /** diff --git a/hutool-extra/src/test/java/cn/hutool/extra/ftp/FtpTest.java b/hutool-extra/src/test/java/cn/hutool/extra/ftp/FtpTest.java index 2b8cbc425..3bed1d027 100644 --- a/hutool-extra/src/test/java/cn/hutool/extra/ftp/FtpTest.java +++ b/hutool-extra/src/test/java/cn/hutool/extra/ftp/FtpTest.java @@ -90,4 +90,14 @@ public class FtpTest { FileUtil.file("d:/test/download/" + name)); } } + + @Test + @Ignore + public void isDirTest() throws Exception { + try (Ftp ftp = new Ftp("127.0.0.1", 21)) { + Console.log(ftp.pwd()); + ftp.isDir("/test"); + Console.log(ftp.pwd()); + } + } }