2010-01-31 72 views
18

我需要通過Java,這裏我把我的域名認證(用戶名和密碼)的代碼連接到共享文件夾遠程Windows機器上,這裏是我的代碼連接到共享文件夾在Windows中使用Java

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

感謝

+1

在Oracle Java 8中,此工作沒有問題。 – Robert 2016-04-20 11:58:48

回答

29

您應該使用SmbFileNtlmPasswordAuthenticationJCIFS。下面是一段簡單的代碼來告訴你怎麼做:

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

我嘗試了一點,這個答案並不是真的很好...我會盡快發佈一個更好的答案。 – 2010-02-08 10:51:29

+0

完成後,添加了一些可用的代碼 – 2010-02-08 10:58:18

+0

NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(null,「user」,「password」); 所以「用戶」,「密碼」是域認證的權利? – SShehab 2010-02-16 08:47:21

0

如果您正在訪問打開共享文件夾(如用戶名或密碼不知道或要求),那麼你可以按照下面的代碼:

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