Библиотека SAMBA JCIFS не может получить доступ к подпапке, если родительская папка не имеет доступа

Я использую библиотеку JCIFS SAMBA в своем коде Java. У меня есть следующая структура на общем диске\host\folder1\folder2

У меня есть доступ к подпапке folder2, но у меня нет доступа к родительской папке folder1. Я могу получить доступ к этой подпапке (folder2) непосредственно из проводника. Но я не могу получить к нему доступ с помощью библиотеки SAMBA JCIFS в моем коде Java.

Примечание 1: я могу получить доступ к другим папкам и подпапкам через JCIFS, к которым у меня есть доступ (доступ к родительской папке и подпапкам). Примечание 2: java.io.File file = new java.io.File("//host/folder1/folder2"); работает отлично.

Получение следующей ошибки

Exception in thread "main" jcifs.smb.SmbException: The network name cannot be found.
    at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:563)
    at jcifs.smb.SmbTransport.send(SmbTransport.java:663)
    at jcifs.smb.SmbSession.send(SmbSession.java:238)
    at jcifs.smb.SmbTree.treeConnect(SmbTree.java:176)
    at jcifs.smb.SmbFile.doConnect(SmbFile.java:911)
    at jcifs.smb.SmbFile.connect(SmbFile.java:957)
    at jcifs.smb.SmbFile.connect0(SmbFile.java:880)
    at jcifs.smb.SmbFile.queryPath(SmbFile.java:1338)
    at jcifs.smb.SmbFile.exists(SmbFile.java:1420)
    at com.file.operations.ListDirectoriesFiles.main(ListDirectoriesFiles.java:)

Ниже мой код Java.

static final String NETWORK_FOLDER = "smb://host/folder1/folder2/";

     public static void main(String[] args) throws Exception {
     NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("DOMAIN", "USER", "PASSWORD");
     SmbFile smbFolder = new SmbFile(NETWORK_FOLDER, auth);
     System.out.println(" isExists ? :" + smbFolder.exists());
    }

0 ответов

Другие вопросы по тегам