使用JCIFS访问Windows共享文件夹

时间:2018-09-10 16:17:32

标签: java jcifs

我在使用JCIFS从Java应用程序连接到samba驱动器时遇到问题。问题似乎是JCiFS想要连接的URL。我无法输入服务器名称/文件夹/文件夹,因为我无权登录服务器以获取文件夹。我可以通过Samba访问服务器上的文件夹。我可以通过Windows \ celery \ rim \ dev映射它,但是不能在URL中使用它传递给JCIFS。

下面的URL不能进入dev目录。如果我只做smb:// celery / rim /,那我就可以进入,但是那不是正确的目录,我需要移至dev目录。

String url = "smb://celery/rim/dev/";
    NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("domain", "user", "password");
    try {
        SmbFile dir = new SmbFile(url, auth);
 String[] content = dir.list();
        for(String file : content){
            System.out.println(file);
        }

1 个答案:

答案 0 :(得分:0)

@Eliad Cohen-我敢肯定这就是问题所在。我通过转到JCIFS-ng解决了这个问题。我只希望他们有更好的文档。

CIFSContext baseCxt = new BaseContext(new PropertyConfiguration(System.getProperties()));
        NtlmPasswordAuthentication creds = new NtlmPasswordAuthentication(baseCxt, "am", nasProperties.getUsername(),nasProperties.getPassword());
        CIFSContext ct = baseCxt.withCredentials(creds);
        SmbFile dir = new SmbFile(url, ct);

        SmbFileOutputStream sfos = new SmbFileOutputStream(dir);
        sfos.write(csv.getBytes());

        sfos.close();