Reputation: 47
I would like to check if a file exists in a particular directory in shared drive using SMBJ library. For example this is the file I want to check the existence of - \\server1\CF\Sub1\Sub2\Sub3\test.txt
Below is the code snippet I'm using
SMBClient smbClient = new SMBClient(SmbConfig.builder().withMultiProtocolNegotiate(true).build());
Connection connection = smbClient.connect("server1");
AuthenticationContext ac = new AuthenticationContext(USER_NAME, PWD.toCharArray(),"DOMAIN");
Session session = connection.authenticate(ac);
DiskShare share = (DiskShare) session.connectShare("CF");
boolean exists = share.fileExists("Sub1\\Sub2\\Sub3\\test.txt")
eventhough the specified path is correct I get an exception
com.hierynomus.mssmb2.SMBApiException: STATUS_PATH_NOT_COVERED (0xc0000257): Create failed for \\server1\CF\Sub1\Sub2\Sub3\test.txt
at com.hierynomus.smbj.share.Share.receive(Share.java:380)
at com.hierynomus.smbj.share.Share.sendReceive(Share.java:359)
at com.hierynomus.smbj.share.Share.createFile(Share.java:156)
at com.hierynomus.smbj.share.DiskShare.createFileAndResolve(DiskShare.java:75)
at com.hierynomus.smbj.share.DiskShare.access$100(DiskShare.java:55)
at com.hierynomus.smbj.share.DiskShare$2.apply(DiskShare.java:109)
at com.hierynomus.smbj.share.DiskShare$2.apply(DiskShare.java:105)
at com.hierynomus.smbj.paths.PathResolver$1.resolve(PathResolver.java:32)
at com.hierynomus.smbj.paths.SymlinkPathResolver.resolve(SymlinkPathResolver.java:62)
at com.hierynomus.smbj.share.DiskShare.resolveAndCreateFile(DiskShare.java:105)
at com.hierynomus.smbj.share.DiskShare.open(DiskShare.java:65)
at com.hierynomus.smbj.share.DiskShare.openDirectory(DiskShare.java:151)
at com.hierynomus.smbj.share.DiskShare.list(DiskShare.java:258)
at com.hierynomus.smbj.share.DiskShare.list(DiskShare.java:231)
I can print available files under Sub1 by doing the following but cannot do the same for path = "Sub1\Sub2"
for (FileIdBothDirectoryInformation f : share.list("Sub1")) {
Logger.log("File : " + f.getFileName());
}
Is there something wrong in how the path is formed?
Upvotes: 1
Views: 640