2010-01-31 117 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]); 
}