Télécharger dossier dans un serveur FTP
Résolu
jayzman
Messages postés
46
Date d'inscription
Statut
Membre
Dernière intervention
-
jayzman Messages postés 46 Date d'inscription Statut Membre Dernière intervention -
jayzman Messages postés 46 Date d'inscription Statut Membre Dernière intervention -
bonjour,je voudrai savoir comment télécharger un dossier contient plusieurs fichiers dans un serveur FTP et stocker dans un disque local,
j'ai un code pour lister les fichiers dans le dossier mais pas le stocker dans un disque dur local,
comment faire?
besoin d'aide,
voici le code
Merci
jayzman
j'ai un code pour lister les fichiers dans le dossier mais pas le stocker dans un disque dur local,
comment faire?
besoin d'aide,
voici le code
import java.io.IOException; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPFile; import org.apache.commons.net.ftp.FTPReply; public class FTPListRecursiveDemo { static void listDirectory(FTPClient ftpClient, String parentDir, String currentDir, int level) throws IOException { String dirToList = parentDir; if (!currentDir.equals("")) { dirToList += "/" + currentDir; } FTPFile[] subFiles = ftpClient.listFiles(dirToList); if (subFiles != null && subFiles.length > 0) { for (FTPFile aFile : subFiles) { String currentFileName = aFile.getName(); if (currentFileName.equals(".") || currentFileName.equals("..")) { // skip parent directory and directory itself continue; } for (int i = 0; i < level; i++) { System.out.print("\t"); } if (aFile.isDirectory()) { System.out.println("[" + currentFileName + "]"); listDirectory(ftpClient, dirToList, currentFileName, level + 1); } else { System.out.println(currentFileName); } } } } public static void main(String[] args) { String server = "10.11.15.137"; int port = 21; String user = "stgzo"; String pass = "jayzman1"; FTPClient ftpClient = new FTPClient(); try { ftpClient.connect(server, port); int replyCode = ftpClient.getReplyCode(); if (!FTPReply.isPositiveCompletion(replyCode)) { System.out.println("Connect failed"); return; } boolean success = ftpClient.login(user, pass); if (!success) { System.out.println("Could not login to the server"); return; } String dirToList = "/var/opt/ericsson/nms_umts_pms_seg/segment1/UETR/SubNetwork=ANRNC02/MeContext=ANRNC02"; listDirectory(ftpClient, dirToList, "", 0); } catch (IOException ex) { System.out.println("Oops! Something wrong happened"); ex.printStackTrace(); } finally { // logs out and disconnects from server try { if (ftpClient.isConnected()) { ftpClient.logout(); ftpClient.disconnect(); } } catch (IOException ex) { ex.printStackTrace(); } } } }
Merci
jayzman
A voir également:
- Télécharger dossier dans un serveur FTP
- Télécharger clavier arabe - Télécharger - Divers Web & Internet
- Telecharger word 2013 - Télécharger - Traitement de texte
- Telecharger ccleaner - Télécharger - Nettoyage
- Télécharger instagram pc - Télécharger - Divers Communication
- Changer serveur dns - Guide
1 réponse
Bonjour,
Je ne sais pas est ce que vous avez déjà fait une recherche, mais des codes de la sorte existent déjà tel que le code sur :
https://www.codejava.net/java-se/ftp/java-ftp-file-download-tutorial-and-example
Vous avez déjà tous ce qu'il vous faut :
une fois les répertoires détectés, il faut les créer non pas les afficher, et si c'est un fichier alors vous le détéchargez :
Je ne sais pas est ce que vous avez déjà fait une recherche, mais des codes de la sorte existent déjà tel que le code sur :
https://www.codejava.net/java-se/ftp/java-ftp-file-download-tutorial-and-example
Vous avez déjà tous ce qu'il vous faut :
une fois les répertoires détectés, il faut les créer non pas les afficher, et si c'est un fichier alors vous le détéchargez :
// Extrait de votre code if (aFile.isDirectory()) { (new java.io.File(currentFileName)).mkdir(); // Continuez le traitement récursive listDirectory(ftpClient, dirToList, currentFileName, level + 1); } else { // Code de téléchargement ici }
oui j'ai déjà vue votre exemple mais il télécharge juste un fichier mais je vais télécharger tous les fichiers dans un dossier,j'ai un autre programme il marche bien mais le taille des fichiers ne seront pas le même,je ne sais pas où est mon erreur,
est ce qu'il y a un autre moyen
merci
voici mon code
jayzman
https://commons.apache.org/proper/commons-net/apidocs/org/apache/commons/net/ftp/FTPClient.html#retrieveFile%28java.lang.String,%20java.io.OutputStream%29