web-dev-qa-db-fra.com

connexion à un dossier partagé dans Windows avec Java

Je dois me connecter à un dossier partagé sur une machine Windows distante via Java, où je mets l'authentification de mon domaine (nom d'utilisateur et mot de passe) dans le code, voici mon code 

 File file = new File("\\\\theRemoteIP\\webapps");   
    File[] files = file.listFiles();  
    System.out.println("acssed done");  

    for (int i = 0; i < files.length; i++)  
    {  
        String name = files[i].getName();  
        System.out.println(name);  
    }  

Merci

23
SShehab

Vous devez utiliser SmbFile et NtlmPasswordAuthentication from JCIFS . Voici un simple morceau de code pour vous montrer comment faire:

String url = "smb://yourhost/yourpath/";
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(null, "user", "password");
SmbFile dir = new SmbFile(url, auth);
for (SmbFile f : dir.listFiles())
{
    System.out.println(f.getName());
}
31
Valentin Rocher

Si vous accédez à des dossiers partagés ouverts (le nom d'utilisateur ou le mot de passe n'est pas connu ou requis), vous pouvez suivre le code ci-dessous:

String path="smb://172.16.0.11/";

SmbFile smbFile = new SmbFile(path);
String a[]=smbFile.list();
for(int i=0;i<a.length;i++)
{
    System.out.println(a[i]);
}
0
avi