Ваш код в порядке.Он должен работать на большинстве серверов .Ваш код отправит эту команду на сервер:
LIST /archive
Это правильно (если сервер использует этот синтаксис пути [косая черта] для ссылки на подпапку корневой папки).
Но на некоторых (неясных) серверах возникают проблемы с аргументами, передаваемыми команде LIST
.
Попробуйте использовать вместо этого код:
ftpClient.cwd("archive");
FTPFile[] files = ftpClient.listFiles();
Вышеприведенный код отправит:
CWD archive
LIST
Еще один подход, который стоит попробовать, - это удалить ведущую косую черту как сервер.может использовать другой разделитель пути:
FTPFile[] files = ftpClient.listFiles("archive");