我正在尝试标记android设备上的文件,以便以后根据用户定义的标签(例如Category,Description,Owner)显示在列表中。 我已经为UserDefinedFileAttributes使用了广泛推荐的Java NIO代码
找到文件路径,并报告为有效,但是
final UserDefinedFileAttributeView view = getFileAttributeView (path,
UserDefinedFileAttributeView.class);
总是返回'view'= null
我想念什么?
也许不是所有平台/设备都支持UserDefinedFileAttributeView吗? 我已经在Nexus 6(API 28)的Android Studio模拟器上尝试了此代码
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);
}