任何人都可以向我解释,如何在以下情况下进行?
我需要使用 JAVA 向所有文件(如 txt、pdf、doc、docx、ppt pptx、xls、xlsx 等)添加自定义属性(即新的元数据到文件中,例如对值敏感的分类文件),然后我想看看当我使用资源管理器右键单击特定文件时,Windows 属性中的此自定义属性信息。
笔记:
- 有没有我可以使用的 API 来做到这一点?
- 是否可以通过使用 Apache Jackrabbit 来做到这一点?
任何人都可以向我解释,如何在以下情况下进行?
我需要使用 JAVA 向所有文件(如 txt、pdf、doc、docx、ppt pptx、xls、xlsx 等)添加自定义属性(即新的元数据到文件中,例如对值敏感的分类文件),然后我想看看当我使用资源管理器右键单击特定文件时,Windows 属性中的此自定义属性信息。
笔记:
当您使用资源管理器右键单击特定文件时,您是在谈论 Windows 属性吗?
如果是这样,您需要使用 Java API 来获取文件属性,准确地说是UserDefinedFileAttributeView
.
您可以使用此视图在特定文件上写入您可能需要的任何属性。
Path path = FileSystems.getDefault().getPath("C:/file.txt");
UserDefinedFileAttributeView view =
Files.getFileAttributeView(path, UserDefinedFileAttributeView.class);
view.write("classification_of_file", Charset.defaultCharset().encode("sensitive"));
你也可以打电话FileStore.supportsFileAttributeView()
来检查你的文件系统是否支持它。
您将在Java 文档中找到有关文件属性的更多说明。
至于第二点,我不了解 Apache Jackrabbit,所以我帮不了你那么多。
Apache Jackrabbit不会帮助您为存储在文件系统中的文件设置属性。
它可以很好地管理它自己存储的文件的任何类型的元数据,您可以通过 WebDAV 提供这些元数据,但这需要将文件存储在 JCR 存储库中。