避免字符越界

This commit is contained in:
yebukong 2022-09-02 18:11:07 +08:00
parent e0559ec96c
commit f9204dc6de
2 changed files with 9 additions and 1 deletions

View File

@ -112,7 +112,7 @@ public abstract class AbstractFtp implements Closeable {
return false; return false;
} }
// 文件验证 // 文件验证
final String dir = StrUtil.removeSuffix(path, fileName); final String dir = StrUtil.emptyToDefault(StrUtil.removeSuffix(path, fileName), ".");
final List<String> names; final List<String> names;
try { try {
names = ls(dir); names = ls(dir);

View File

@ -106,6 +106,12 @@ public class FtpTest {
public void existSftpTest() throws Exception { public void existSftpTest() throws Exception {
try (Sftp ftp = new Sftp("127.0.0.1", 22, "test", "test")) { try (Sftp ftp = new Sftp("127.0.0.1", 22, "test", "test")) {
Console.log(ftp.pwd()); Console.log(ftp.pwd());
Console.log(ftp.exist(null));
Console.log(ftp.exist(""));
Console.log(ftp.exist("."));
Console.log(ftp.exist(".."));
Console.log(ftp.exist("/"));
Console.log(ftp.exist("a"));
Console.log(ftp.exist("/home/test")); Console.log(ftp.exist("/home/test"));
Console.log(ftp.exist("/home/test/")); Console.log(ftp.exist("/home/test/"));
Console.log(ftp.exist("/home/test//////")); Console.log(ftp.exist("/home/test//////"));
@ -122,11 +128,13 @@ public class FtpTest {
@Ignore @Ignore
public void existFtpTest() throws Exception { public void existFtpTest() throws Exception {
try (Ftp ftp = new Ftp("127.0.0.1", 21)) { try (Ftp ftp = new Ftp("127.0.0.1", 21)) {
Console.log(ftp.pwd());
Console.log(ftp.exist(null)); Console.log(ftp.exist(null));
Console.log(ftp.exist("")); Console.log(ftp.exist(""));
Console.log(ftp.exist(".")); Console.log(ftp.exist("."));
Console.log(ftp.exist("..")); Console.log(ftp.exist(".."));
Console.log(ftp.exist("/")); Console.log(ftp.exist("/"));
Console.log(ftp.exist("a"));
Console.log(ftp.exist("/test")); Console.log(ftp.exist("/test"));
Console.log(ftp.exist("/test/")); Console.log(ftp.exist("/test/"));
Console.log(ftp.exist("/test//////")); Console.log(ftp.exist("/test//////"));