2010-01-31 4 views
18

ich in einen freigegebenen Ordner auf einem entfernten Windows-Rechner über java anschließen muß, wo ich meine Domain-Authentifizierung setzen (Benutzername und Passwort) im Code, hier ist mein Codezu freigegebenen Ordnern in Windows mit Java verbinden

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); 
    } 

Dank

+1

In Oracle Java 8 funktioniert das ohne Probleme. – Robert

Antwort

29

Sie sollten SmbFile und NtlmPasswordAuthentication von JCIFS verwenden. Hier ist ein einfaches Stück Code, Ihnen zu zeigen, wie zu tun:

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()); 
} 
+0

Ich habe ein wenig versucht und diese Antwort funktioniert nicht wirklich so gut ... Ich werde bald eine bessere post. –

+0

getan, hinzugefügt Code, der funktioniert –

+0

NtlmPasswordAuthentication auth = neu NtlmPasswordAuthentication (null, "Benutzer", "Kennwort"); Also die "Benutzer", "Passwort" sind die Domäne Authentifizierung Recht? – SShehab

0

Wenn Sie offen auf freigegebene Ordner zugreifen (dh Benutzername oder Passwort sind nicht bekannt oder erforderlich), dann können Sie den Code unten folgen:

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]); 
} 
Verwandte Themen