Skopiuj wszystkie katalogi na serwer za pomocą FTP przy użyciu Java
Muszę skopiować katalog z dysku lokalnego na serwer. Katalog zawiera wiele katalogów, podkatalogów i plików. (Pomyśl o hierarchicznym drzewie katalogów).
Oto przykład kopiowania jednego pliku:
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");
}
Teraz muszę skopiować katalog (somedir
) ze wszystkimi podkatalogami i plikamisomedir
.
Myślę, że algorytm powinien używać rekursji. Czy ktoś wie jak?