'Copy all directories to server by FTP using Java
I need to copy a directory from the local disk to a server. The directory contains a lot of directories, subdirectories, and files. (Think of a hierarchy tree of directories).
Here is an example to copy one file:
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");
}
Now, I need to copy a directory (somedir) with all the subdirectories and files of somedir.
I think the algorithm should use recursion. Does someone know how?
Solution 1:[1]
upload(fileName){
If (filename is not dir){
ftpFile();
return;
}
listoffiles = get the list of all files in dir
for each file : listoffiles {
upload(file)
}
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | ejb_guy |
