Скопируйте все каталоги на сервер по FTP, используя Java
Мне нужно скопировать каталог с локального диска на сервер. Каталог содержит много каталогов, подкаталогов и файлов. (Подумайте о дереве иерархии каталогов).
Вот пример для копирования одного файла:
public void saveFilesToServer() throws IOException {
FTPClient ftp = new FTPClient();
ftp.connect(ftp.foobar.com);
if (!FTPReply.isPositiveCompletion(ftp.getReplyCode())) {
ftp.disconnect();
log.fatal("FTP not disconnected");
}
ftp.login("foo", "qwerty");
log.info("Connected to server .");
log.info(ftp.getReplyString());
ftp.changeWorkingDirectory("test");
ftp.makeDirectory("somedir");
ftp.changeWorkingDirectory("somedir");
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
java.io.File srcFolder = new java.io.File(folderPath);
FileInputStream fis = new FileInputStream(srcFolder);
ftp.storeFile (fileName, fis);
ftp.disconnect();
log.info("FTP disconnected");
}
Теперь мне нужно скопировать каталог (somedir
) со всеми подкаталогами и файламиsomedir
.
Я думаю, что алгоритм должен использовать рекурсию. Кто-нибудь знает как?