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

Entrée/Sortie Java Discussion :

Récupérer un fichier sur un ordinateur local protégé par mot de passe


Sujet :

Entrée/Sortie Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 26
    Points : 31
    Points
    31
    Par défaut Récupérer un fichier sur un ordinateur local protégé par mot de passe
    Bonjour à tous,

    J'ai pas mal parcourut les forums mais je n'ai pas trouvé de réponse a ma question :

    Je crée un logiciel qui doit récupérer un fichier sur un autre ordinateur en réseau local. Cet autre ordinateur demande un nom d'utilisateur et un mot de passe pour pouvoir y accéder.

    Voici le code que j'ai fait :

    String chemin1 ="\\\\192.168.10.2\\Data";
    Path chemin = Paths.get(chemin1);

    try(DirectoryStream<Path> liste = Files.newDirectoryStream(chemin)){

    //... toute une série d'opérations sur les fichiers
    Si j'exécute mon programme j'obtiens l'erreur suivante :

    java.nio.file.FileSystemException: \\192.168.10.2\Data\: Échec d’ouverture de session*: nom d’utilisateur inconnu ou mot de passe incorrect.

    Logique puisque je ne rentre le mot de passe et le nom d'utilisateur nul part.

    Par contre, si j'accède a la main au dossier "data" avant de lancer le programme, Windows me demande un nom de session et un mot de passe. Je le rempli tous les champs j'accède a mon dossier "data". Ensuite je relance mon programme et tout ce passe correctement. Mais ce n'est pas vraiment une solution acceptable....

    Quelqu'un saurait il comment résoudre ce problème ?

    Merci d'avance.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 565
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 565
    Points : 21 630
    Points
    21 630
    Par défaut
    Malheureusement les classes File et Path ne sont pas du tout prévues pour des systèmes de fichiers qui nécessitent un mot de passe avant de pouvoir y accéder.
    Ce genre de choses sont plus proches de trucs comme HTTP ou FTP, ce sont des protocoles à part dont il faut une implémentation. Et comme c'est un concept purement Windows, il n'y a pas d'implémentation fournie avec Java.

    Tu peux en trouver une du côté de JCIFS. Il y a des exemple d'utilisation de la classe SmbFile.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 26
    Points : 31
    Points
    31
    Par défaut
    Rebonjour,

    Merci pour la réponse, j'ai réussi à faire ce que je voulais en passant par JCIFS.

    Pour ceux qui auraient le même problème que moi :

    Il faut télécharger la librairie JCIFS et l'intégrer dans votre projet.(http://jcifs.samba.org/src/ ).

    Voici un exemple de code l'utilisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    try {
    			NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("192.168.10.2", "Login", "motDePasse");
    			SmbFile repertoire = new SmbFile("smb://192.168.10.2/data/",auth);
    			String [] listeFichier = repertoire.list();
    			for (int i = 0 ; i <listeFichier.length;i++){
    				System.out.println(listeFichier[i]);
     
    			}
    		} catch (SmbException e) {
    			e.printStackTrace();
    		}
    		catch (MalformedURLException e){
    			e.printStackTrace();
    		}
    Ce code écrit dans la console le nom de tous les fichiers se trouvant dans le dossier data. Il est aussi possible de créer/lire/copier des fichiers avec l'objet SmbFile. (Se référer à l'api fourni avec la librairie ).

    En tout cas merci à toi thelvin, ca faisait un moment que je cherchais!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.2] Décompresser un fichier protégé par mot de passe
    Par Dark Cid dans le forum Langage
    Réponses: 2
    Dernier message: 29/06/2011, 23h05
  2. [XL-2003] Lister les fichiers protégés par mot de passe
    Par macat dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 27/10/2010, 11h04
  3. créer un fichier PDF protégé par mot de passe en VBA
    Par programmer_c'est_dur dans le forum VBA Access
    Réponses: 1
    Dernier message: 16/05/2009, 22h09
  4. Créer un fichier protégé par mot de passe
    Par Damiendupont dans le forum Général Python
    Réponses: 2
    Dernier message: 29/03/2008, 19h27

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