Как создать каталог с несколькими уровнями в одном вызове в Java с использованием FTP - PullRequest
1 голос
/ 08 июля 2010

Я использую библиотеку FTPClient от Apache и не могу найти простой способ создать новый каталог глубиной более одного уровня. Я что-то упустил?

Предполагая, что каталог / tmp уже существует на моем удаленном хосте, следующая команда успешно создает / tmp / xxx

String path = "/tmp/xxx";
FTPClient ftpc = new FTPClient();
... // establish connection and login
ftpc.makeDirectory(path);

, но следующая ошибка:

String path = "/tmp/yyy/zzz";
FTPClient ftpc = new FTPClient();
... // establish connection and login
ftpc.makeDirectory(path);

В последнем случае даже / tmp / yyy не создается.

Я знаю, что могу создать / tmp / yyy, а затем создать / tmp / yyy / zzz, но не могу понять, как создать напрямую /tmp/yyy/zzz.

  1. Я что-то упускаю из виду? Использование mkd вместо makeDirectory не помогло.

  2. Также возможно ли за один вызов загрузить файл в /tmp/yyy/zzz/test.txt, если каталог / tmp / yyy / zzz / еще не существует?

Ответы [ 3 ]

2 голосов
/ 08 июля 2010

Вам нужно делать их по одному, сначала / tmp / yyy, а затем / tmp / yyy / zzz.Не существует механизма быстрого доступа к тому, что вы хотите сделать.

1 голос
/ 08 июля 2010

Протокол FTP не позволяет этого. Поэтому нет, вы не можете создать каталог с несколькими уровнями за один вызов.

1 голос
/ 08 июля 2010
  1. Обычно FTP-серверы позволяют создавать только один уровень каталога за раз. Таким образом, вам придется самостоятельно разбить путь и выполнить один вызов makeDirectory () для каждого из компонентов.

  2. номер

...