0

无法将文件写入 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();
    }
}
4

0 回答 0