Accueil > > > ENVOI D'UNE ARBORESSENCE EN JAVA VERS SERVEUR FTP
ENVOI D'UNE ARBORESSENCE EN JAVA VERS SERVEUR FTP
Information sur la source
Description
pas besoin d'acheter l'API editftpjPro qui coute 500 Dollars pour envoyer une arborescence complète (dossier sous dossier fichier ......) vers un serveur FTP et qui créer la même arborescence locale sur le serveur FTP.j'utilise une API gratuite qui est editftpj.
Source
- package test;
-
-
-
- import java.io.File;
- import java.io.IOException;
- import java.net.InetAddress;
- import java.util.StringTokenizer;
-
- import ftp.FtpConnection;
- import ftp.TestFTP;
-
- public class Copy {
- // Dans le contructeur on va utiliser notre methode copy
- // et donc on vas faire quelques ptit test
- String src,dest;
- File DEST,SRC;
- FtpConnection ftp;
- boolean b,t;
- public Copy (FtpConnection ftp,String src, String dest){
-
- System.out.println("**********************************recursivité****************************************************");
- TestFTP test=new TestFTP();
- this.src=src;
- this.ftp=ftp;
- this.dest=dest;
-
- this.SRC = new File (src);//file locale
- this.dest=dest;//le chemin sur le ftp
- String nomfolderlocal= SRC.getName();
-
-
- try {
- System.out.println("le dossier src :"+nomfolderlocal+" -- et dest :"+dest);
- System.out.println("le dossier coutrant sur le ftp est :"+ftp.getCurrentDirectory());
-
- } catch (IOException e2) {
- System.out.println("erreur de placage sur le serveur");
- e2.printStackTrace();
- }
-
- if (SRC.isDirectory()){
- System.out.println("je verifie que le folder : "+nomfolderlocal+" existe bien sur le serveur ftp ");
- b=test.verifDossierFtp(nomfolderlocal, ftp);
- System.out.println("le folder exitse sur le serveur ? "+b);
- }
-
-
-
- // ben si le rep dest n'existe pas, et notre source est un repertoire
- if (b==false){
- if (SRC.isDirectory()){
-
-
-
-
-
- System.out.println("...................................................................");
- System.out.println("...........................Detection folder......................");
- System.out.println("..................................................................");
- try {
- System.out.println("-----------------+"+nomfolderlocal+"+");
- ftp.makeDirectory(nomfolderlocal);
-
- System.out.println("je creer le repertoire "+nomfolderlocal);
-
- //System.out.println("le dossier coutrant sur le ftp devient :"+ftp.getCurrentDirectory());
-
- } catch (IOException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }//on se place dans le folder sur ftp
-
-
- for (File f:SRC.listFiles()){
- if(!f.isDirectory()){
- try {
- ftp.changeDirectory(nomfolderlocal);
- } catch (IOException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
-
- try {
-
- System.out.println("je copy le fichier "+SRC+"\\"+f.getName()+" dans "+ftp.getCurrentDirectory());
- ftp.uploadFile(f.getName(),SRC+"\\"+f.getName());
- } catch (IOException e) {
- System.out.println("probleme upload fichier");
- e.printStackTrace();
- }
-
- try {
- System.out.println("je remonte au dosiier pere");
- ftp.parentDirectory();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
-
-
- }
- }
- // Mais si jammais c'est un fichier, on fait un simple copie
- if (SRC.isFile()){
- System.out.println("...................................................................");
- System.out.println("...........................Detection Fichier......................");
- System.out.println("..................................................................");
-
-
- /*
- try {
- System.out.println("je copy le fichier "+src+" dans "+ftp.getCurrentDirectory());
- ftp.uploadFile(ftp.getCurrentDirectory(),src);
- } catch (IOException e) {
- System.out.println("probleme upload fichier");
- e.printStackTrace();
- }
- */
- // et si notre source est un repertoire qu'on doit copié!!!
- }else if (SRC.isDirectory()){
- // on parcour tout les elements de ce catalogue,
- for (File f:SRC.listFiles()){
- // et hop on fait un appel recursif a cette classe en mettant a jour les path de src et dest: et le tour est joué
-
- try {
- System.out.println("je lance l'appel recursif et jme place le repertoire ftp"+ftp.getCurrentDirectory());
- System.out.println("le chemin du fichier locale"+f.getAbsolutePath());
- ftp.changeDirectory(nomfolderlocal);
- new Copy(ftp,f.getAbsolutePath(),ftp.getCurrentDirectory());
- } catch (IOException e) {
- System.out.println("probleme copy appel recusrsirf");
- e.printStackTrace();
- }
- }
- }
-
- }
- /** copie le fichier source dans le fichier resultat
- * retourne vrai si cela réussit
- */
- }
package test;
import java.io.File;
import java.io.IOException;
import java.net.InetAddress;
import java.util.StringTokenizer;
import ftp.FtpConnection;
import ftp.TestFTP;
public class Copy {
// Dans le contructeur on va utiliser notre methode copy
// et donc on vas faire quelques ptit test
String src,dest;
File DEST,SRC;
FtpConnection ftp;
boolean b,t;
public Copy (FtpConnection ftp,String src, String dest){
System.out.println("**********************************recursivité****************************************************");
TestFTP test=new TestFTP();
this.src=src;
this.ftp=ftp;
this.dest=dest;
this.SRC = new File (src);//file locale
this.dest=dest;//le chemin sur le ftp
String nomfolderlocal= SRC.getName();
try {
System.out.println("le dossier src :"+nomfolderlocal+" -- et dest :"+dest);
System.out.println("le dossier coutrant sur le ftp est :"+ftp.getCurrentDirectory());
} catch (IOException e2) {
System.out.println("erreur de placage sur le serveur");
e2.printStackTrace();
}
if (SRC.isDirectory()){
System.out.println("je verifie que le folder : "+nomfolderlocal+" existe bien sur le serveur ftp ");
b=test.verifDossierFtp(nomfolderlocal, ftp);
System.out.println("le folder exitse sur le serveur ? "+b);
}
// ben si le rep dest n'existe pas, et notre source est un repertoire
if (b==false){
if (SRC.isDirectory()){
System.out.println("...................................................................");
System.out.println("...........................Detection folder......................");
System.out.println("..................................................................");
try {
System.out.println("-----------------+"+nomfolderlocal+"+");
ftp.makeDirectory(nomfolderlocal);
System.out.println("je creer le repertoire "+nomfolderlocal);
//System.out.println("le dossier coutrant sur le ftp devient :"+ftp.getCurrentDirectory());
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}//on se place dans le folder sur ftp
for (File f:SRC.listFiles()){
if(!f.isDirectory()){
try {
ftp.changeDirectory(nomfolderlocal);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
System.out.println("je copy le fichier "+SRC+"\\"+f.getName()+" dans "+ftp.getCurrentDirectory());
ftp.uploadFile(f.getName(),SRC+"\\"+f.getName());
} catch (IOException e) {
System.out.println("probleme upload fichier");
e.printStackTrace();
}
try {
System.out.println("je remonte au dosiier pere");
ftp.parentDirectory();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
// Mais si jammais c'est un fichier, on fait un simple copie
if (SRC.isFile()){
System.out.println("...................................................................");
System.out.println("...........................Detection Fichier......................");
System.out.println("..................................................................");
/*
try {
System.out.println("je copy le fichier "+src+" dans "+ftp.getCurrentDirectory());
ftp.uploadFile(ftp.getCurrentDirectory(),src);
} catch (IOException e) {
System.out.println("probleme upload fichier");
e.printStackTrace();
}
*/
// et si notre source est un repertoire qu'on doit copié!!!
}else if (SRC.isDirectory()){
// on parcour tout les elements de ce catalogue,
for (File f:SRC.listFiles()){
// et hop on fait un appel recursif a cette classe en mettant a jour les path de src et dest: et le tour est joué
try {
System.out.println("je lance l'appel recursif et jme place le repertoire ftp"+ftp.getCurrentDirectory());
System.out.println("le chemin du fichier locale"+f.getAbsolutePath());
ftp.changeDirectory(nomfolderlocal);
new Copy(ftp,f.getAbsolutePath(),ftp.getCurrentDirectory());
} catch (IOException e) {
System.out.println("probleme copy appel recusrsirf");
e.printStackTrace();
}
}
}
}
/** copie le fichier source dans le fichier resultat
* retourne vrai si cela réussit
*/
}
Conclusion
pas besoin d'acheter l'API editftpjPro qui coute 500 Dollars pour envoyer une arborescence complète (dossier sous dossier fichier ......) vers un serveur FTP et qui créer la même arborescence locale sur le serveur FTP.j'utilise une API gratuite qui est editftpj.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
copie de fichier en java [ par refre ]
bonjour, j'ai une copie de fichier a faire. en fait j'ai un fichier dans un dossier et j'aimerai en faire une copie dans un autre fichier... mais j'ai
Permission du repertoire avec java.. [ par CrazyDog_974 ]
bonjour j'ai un petit blm, voila dans une de mais je souhaite lors de intance de la class créé un repertoire(jusqu'ici tout va bien) mais je truc c'es
selection d'un repertoire avec java [ par sanfred ]
Bonjour,Je suis novice en java et je cherche un code source qui permette de sélectionner un répertoire de destination sur le poste du client. Le but e
applet problème de class interne [ par neo1260 ]
Bonjour, j'ai une applet avec une class print et une class interne qui fait du FTP, quand je compil il n'y a pas d'erreur et quand je la charge dans m
2xécution !!!! [ par pierre63 ]
Bonjour,J'ai un fichier Ex1.java dans un repertoire sur un disque p: et mon jdk est installer sur c et la viable d'environement path et bien configure
serveur FTP en java [ par laigle76 ]
Bonjour,avant de me lancer dans cette aventure, j'aimerai savoir si il est possible avec les bibliothéques java de dévellopé un serveur FTP en java.Si
[applet] Lister un répertoire [ par hell2405 ]
Bonjour Je suis entrain de faire une visionneuse d'image et je voudrais l'utiliser pour lister un dossier qui est sur mon compte free (donc l'apple
SERVEUR FTP EN JAVA [ par nicordi ]
BonjourJe suis en train de developper un client /serveur en java. J'ai reussi a faire un client en java qui se connecte à un serveur externe.Par
Mot de passe sur dossier [ par seareal ]
Bonjour,Je souhaite créer un petit programme Java capable de protéger un dossier. L'objectif est qu'un utilisateur (non autorisé) n'est
Réaliser un serveur ftp [ par souhira_tn ]
<td id="HB_Focus_Element" valign="top" width="100%" b
|
Derniers Blogs
PARUTION DE MON LIVRE SUR WPF 4PARUTION DE MON LIVRE SUR WPF 4 par odewit
La 2e édition de mon livre sur WPF sort aujourd'hui en version numérique et lundi en version papier :-)
L'ouvrage présente de façon approfondie les fonctionnalités de WPF 4 : graphisme 2D et 3D, animation, multimédia, interfaces utilisateur, databind...
Cliquez pour lire la suite de l'article par odewit EDM : COMMENT UTILISER L'HORIZONTAL ENTITY SPLITTINGEDM : COMMENT UTILISER L'HORIZONTAL ENTITY SPLITTING par Matthieu MEZIL
Une des raisons pour lesquelles j'adore l'Entity Framework est la puissance de son mapping. Beaucoup de développeurs pour ne pas dire la plus part n'en n'ont pas conscience. Pour rappel, j'ai réalisé des videos (en anglais) sur le mapping . Certains scena...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WP7DEV][REACTIVE] RENDRE LES REACTIVE EXTENSIONS PLUS STABLES[WP7DEV][REACTIVE] RENDRE LES REACTIVE EXTENSIONS PLUS STABLES par jay
Lorsque l'on développe des applications .NET, les exceptions non gérées dans des threads ont le désagréable effet de terminer le processus courant.
Dans l'exemple suivant.......(read more) ...
Cliquez pour lire la suite de l'article par jay WINDBG / SOS / PSSCOR2 : FAILED TO LOAD DATA ACCESS DLL (MSCORDACWKS)WINDBG / SOS / PSSCOR2 : FAILED TO LOAD DATA ACCESS DLL (MSCORDACWKS) par coq
Ceux d'entre nous qui analysent des dumps d'applications .NET (notamment ceux créés via WER après un crash) en dehors de l'environnement initial ont probablement tous été confrontés au moins une fois au message suivant, à la saisie d'une commande SOS ...
Cliquez pour lire la suite de l'article par coq
Logiciels
Microsoft Office (2010)MICROSOFT OFFICE (2010)Microsoft Office 2010 offre de nouveaux moyens flexibles et puissants pour optimiser votre travai... Cliquez pour télécharger Microsoft Office SeaMonkey (2.0.7)SEAMONKEY (2.0.7)Le projet SeaMonkey est issu d'un effort communautaire pour developper une application tout en un... Cliquez pour télécharger SeaMonkey Safari (5.0.2)SAFARI (5.0.2)Le navigateur d'Apple a lui aussi été mis à jour, aussi bien dans sa mouture Windows que celle po... Cliquez pour télécharger Safari Mozilla FireFox (4.0 béta 5)MOZILLA FIREFOX (4.0 BéTA 5)Firefox 4.0 béta 5
L'une des nouveautés visibles les plus attendues réside sans doute dans l'a... Cliquez pour télécharger Mozilla FireFox Mozilla Firefox (3.6.9)MOZILLA FIREFOX (3.6.9)Firefox 3.6.9 corrige les problèmes suivants :
* Introduced support for the X-FRAME-OPTION... Cliquez pour télécharger Mozilla Firefox
|