我正在编写Android asynctask,需要使用JCIFS写入SMB共享。在尝试写入之前,我想检查SMB文件夹是否具有写入权限,如果没有,则向用户显示消息。理想情况下,我想在不实际将文件写入目标的情况下执行此操作。有谁知道如何做到这一点?
答案 0 :(得分:0)
试试这个。
static final String USER_NAME = "Username";
static final String PASSWORD = "Password";
static final String DOMAIN = "XYZ";
static final String NETWORK_FOLDER = "smb://ip-address/Folder-Path/";
try{
String fileContent = "This is a test file";
String fileName = "test_File.txt"
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(DOMAIN,USER_NAME, PASSWORD);
String path = NETWORK_FOLDER + fileName;
System.out.println("Path: " +path);
SmbFile sFile = new SmbFile(path, auth);
SmbFileOutputStream sfos = new SmbFileOutputStrea(sFile);
sfos.close();
sfos.write(fileContent.getBytes());
}catch (Exception e) {
e.printStackTrace();
}
答案 1 :(得分:0)
您可以使用SmbFile.canWrite()方法检查用户是否在特定文件夹中具有写入权限。请查看以下API文档。
https://jcifs.samba.org/src/docs/api/jcifs/smb/SmbFile.html#canWrite()