IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Petites questions sur le FTP


Sujet :

avec Java

  1. #21
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    ouais mais ça c'est pas une commande FTP

    un transfert en ftp ne va jamais, forcément, donner le nom local du fichier, les server distant à pas accès à ta machine hein


    Si tu veux la liste des commande FTP, c'est sur wikipedia
    http://en.wikipedia.org/wiki/File_Transfer_Protocol

    et tu verra qu'il n'y a pas de get, la commande est RETR.

    Pour le détail des commandes, voir le RFC http://tools.ietf.org/html/rfc959

    Mais ce serait quand même plus pratique que t'évite de jouer avec le tuyaux et que tu utilise les méthodes déjà disponibles dans ta librairies. Il doit surement déjà y avoir une méthode du genre get(String remoteName, OutputStream whereToWrite). Parce que là, pour faire une analogie, t'es occupé de nous dire que t'as besoin de savoir déclencher toi même un arc dans une bougie pour conduire une voiture

    Pour le reste, comme on ne connais pas ta librairie...

  2. #22
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    En fait, il faut lire la doc de la bibliothèque org.apache.commons, c'est de là que nous tirons les éventuelles réponses à tes questions. En gros, quand tu envoies une commande ftp, tu peux obtenir le message d'erreur éventuel du serveur.

  3. #23
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 33
    Points : 13
    Points
    13
    Par défaut
    Bon pour le moment j'arrive à peu près à faire ce que je souhaite. Néanmoins un soucis persiste : Voici l'arborescence de mon projet :
    Code x : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    - autre : (package)
            - main (class)
    - connection : (package)
            - connection(class)

    Dans ma classe connection j'ai une méthode permettant de ce connecter à un serveur FTP, mais j'ai besoin d'un identifiant et d'un mot de passe. Avec un Scanner le mot de passe apparait en clair, j'ai donc voulu utilisé la classe Console mais je n'arrive pas à lancé mon programme dans une console (Windows, pas Nux) , pourriez vous me dire comment faire ? Jusqu'à présent j'utilisai éclipse pour développer et tester mon code mais l'interpréteur n'est pas reconnu comme une console.

    D'avance merci

  4. #24
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    ouvrir cmd.exe et lancer java -jar tonjar.jar

  5. #25
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 33
    Points : 13
    Points
    13
    Par défaut
    J'obtiens ce message lorsque je lance ta commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/ne
    t/ftp/FTPClient
            at others.Main.main(Main.java:22)
    Caused by: java.lang.ClassNotFoundException: org.apache.commons.net.ftp.FTPClien
    t
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            ... 1 more
    Auriez vous une idée ?

  6. #26
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 084
    Points : 7 998
    Points
    7 998
    Par défaut
    Oui tu n'as pas mis la librairie dans le classpath (dans le manifest ou en paramètre de ta ligne de commande).

  7. #27
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 33
    Points : 13
    Points
    13
    Par défaut
    Ou peux-tu faire cela sous eclipse ? Je ne trouve pas

  8. #28
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 084
    Points : 7 998
    Points
    7 998
    Par défaut
    Je parlais de cela quand tu était en ligne de commande et non sous eclipse (pour faire suite au message de Tchize)

  9. #29
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    quand tu génère ton jar sous eclipse tu as plusieurs options. Pour débuter choisi de faire un jar exécutable incluant toutes les dépendances à l'intérieur du jar.

    C'est pas le plus propre mais c'est le plus facile à mettre en oeuvre.

  10. #30
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 33
    Points : 13
    Points
    13
    Par défaut
    Merci pour ta réponse.
    En revanche j'utilise ceci pour cacher mont mot de passe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Console console = System.console();
     
    while(true) {
    		    	  System.out.println("Quel est votre password ?");
    		    	  texte = console.readPassword();
     
    		          if (texte == null) {
    		        	  break;    // Quitte la boucle quand l'utilisateur met fin à l'entrée de texte
    		          }
    		        }
    Mais une fois dans la console celui ci boucle, il me redemande sans cesse de retaper mon mdp.

    Auriez vous une idée ?

  11. #31
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 084
    Points : 7 998
    Points
    7 998
    Par défaut
    Tu as inversé la condition de ton if.

    au lieu de :
    mets :
    Mais tu pourrais le coder ainsi (pour eviter le if et le break).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Console console = System.console();
    		char[] texte;
    		do 
    		{
    			System.out.println("Quel est votre password ?");
    			texte = console.readPassword();
    		}
    		while (texte==null);
    		System.err.println("Ton mot de passes : "+new String(texte));
    Note que si tu tappes enter comme mot de passe ca passera (ce qui n'est pas normalement bon).

  12. #32
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 33
    Points : 13
    Points
    13
    Par défaut
    Pourrais je coder comme ceci afin d'éviter le passsword "vide" ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    while(texte[0] == null){
    	do {
    		    	  System.out.println("Quel est votre password ?");
    		    	  texte = console.readPassword();
    		} 
    	while(texte == null);
    }

  13. #33
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 084
    Points : 7 998
    Points
    7 998
    Par défaut
    2 while ainsi c'est un de trop, tu px utiliser des operation logique comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    do 
    		{
    			System.out.println("Quel est votre password ?");
    			texte = console.readPassword();
    			System.err.println("En :"+texte.length);
    		}
    		while ((texte==null) || ((texte!=null) && (texte.length==0)));

  14. #34
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    non, puisque texte est un char[], et que char n'est pas un objet, texte[0] ne pourrais jamais être null. Par contre, texte peux l'être ou être un tableau de 0 caractères. Dans le premier cas ton code va lancer une Nullpointerexception et dans le second un ArrayIndexOutOfBoundException

Discussions similaires

  1. [ATL] Petite question sur les progress bar
    Par MrMaze dans le forum MFC
    Réponses: 1
    Dernier message: 06/05/2005, 09h40
  2. [Visuel XP] Petite question sur le theme XP...
    Par ZoumZoumMan dans le forum C++Builder
    Réponses: 12
    Dernier message: 20/01/2005, 14h41
  3. petite question sur le composant IBX ...
    Par vbcasimir dans le forum Bases de données
    Réponses: 4
    Dernier message: 05/01/2005, 10h33
  4. Réponses: 3
    Dernier message: 08/12/2004, 13h58
  5. Petite question sur les performances de Postgres ...
    Par cb44 dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 13/01/2004, 13h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo