Java UserDefinedFileAttributeView视图返回null,无法设置属性
我试图在android设备上标记文件,以便稍后根据用户定义的标记(例如类别、说明、所有者)显示在列表上。 我已经为UserDefinedFileAttributes使用了广泛推荐的java NIO代码 但是,文件路径已找到并报告为有效Java UserDefinedFileAttributeView视图返回null,无法设置属性,java,android,metadata,nio,user-defined,Java,Android,Metadata,Nio,User Defined,我试图在android设备上标记文件,以便稍后根据用户定义的标记(例如类别、说明、所有者)显示在列表上。 我已经为UserDefinedFileAttributes使用了广泛推荐的java NIO代码 但是,文件路径已找到并报告为有效 final UserDefinedFileAttributeView view = getFileAttributeView (path, UserDefinedFileAttributeView.class); 始终返回'view'=null 我错过了什么
final UserDefinedFileAttributeView view = getFileAttributeView (path,
UserDefinedFileAttributeView.class);
始终返回'view'=null
我错过了什么
可能并非所有平台/设备都支持UserDefinedFileAttributeView?
我已经在Android Studio emulator for Nexus 6(API 28)上尝试过这段代码
String MEDIA_PATH = Environment.getExternalStorageDirectory().getPath()
+ File.separator + "myEMR" + File.separator +
"Imported_Documents" ;
String uNewFileName = "MyFile";
public void setLocalFileAttributes() throws Exception {
Path path = Paths.get(MEDIA_PATH, uNewFileName);
final UserDefinedFileAttributeView view = getFileAttributeView(path,
UserDefinedFileAttributeView.class);
// The file attribute
final String category = "Category";
final String value = "UnCategorised";
final byte[] bytes = value.getBytes("UTF-8");
final ByteBuffer writeBuffer =
ByteBuffer.allocate(bytes.length);
writeBuffer.put(bytes);
writeBuffer.flip();
view.write(category, writeBuffer);
}