27

我需要通过java连接到远程windows机器上的共享文件夹,我将域身份验证(用户名和密码)放在代码中,这是我的代码

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

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

谢谢

4

2 回答 2

38

您应该使用JCIFS中的SmbFileNtlmPasswordAuthentication。这是一段简单的代码,向您展示如何操作:

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());
}
于 2010-01-31T14:17:00.647 回答
2

如果您正在访问打开的共享文件夹(即用户名或密码未知或不需要),那么您可以按照以下代码:

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]);
}
于 2015-07-01T05:51:48.820 回答