无法将文件写入 sahred 文件夹,我得到了异常。
com.hierynomus.mssmb2.SMBApiException: STATUS_ACCESS_DENIED (0xc0000022): Create failed for \10.xxx\XYZZZZZZ\xyz.txt
我已验证此帐户对该共享文件夹具有完全访问权限
// connection params
static String sambaDomain = null;
static String sambaUsername = "user123";
static String sambaPass = "pwd";
static String sambaIP = "10.x.x.x";
static String sambaSharedPath = "XYZZZZZZ";
公共静态无效主要(字符串[]参数){
SMBClient client = new SMBClient();
Connection connection = null;
try {
byte[] bytes = Files.readAllBytes(Paths.get("C:\\Users\\xxxx\\testdoc2.pdf"));
connection = client.connect(sambaIP);
Session session = connection.authenticate(new AuthenticationContext(sambaUsername, sambaPass.toCharArray(), sambaDomain));
DiskShare share = (DiskShare) session.connectShare(sambaSharedPath);
File f = share.openFile("xyz.txt",
EnumSet.of(AccessMask.FILE_WRITE_DATA),
EnumSet.of(FileAttributes.FILE_ATTRIBUTE_NORMAL),
SMB2ShareAccess.ALL,
SMB2CreateDisposition.FILE_CREATE,
EnumSet.of(SMB2CreateOptions.FILE_DIRECTORY_FILE));
OutputStream os = f.getOutputStream();
os.write(bytes);
os.flush();
os.close();
} catch (Exception e) {
e.printStackTrace();
}
}