Copie todos os diretórios para o servidor por FTP usando Java
Eu preciso copiar um diretório do disco local para um servidor. O diretório contém muitos diretórios, subdiretórios e arquivos. (Pense em uma hierarquia de diretórios).
Aqui está um exemplo para copiar um arquivo:
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");
}
Agora preciso copiar um diretório (somedir
) com todos os subdiretórios e arquivos desomedir
.
Eu acho que o algoritmo deve usar recursão. Alguém sabe como?