0

任何人都可以向我解释,如何在以下情况下进行?

我需要使用 JAVA 向所有文件(如 txt、pdf、doc、docx、ppt pptx、xls、xlsx 等)添加自定义属性(即新的元数据到文件中,例如对值敏感的分类文件),然后我想看看当我使用资源管理器右键单击特定文件时,Windows 属性中的此自定义属性信息。

笔记:

  1. 有没有我可以使用的 API 来做到这一点?
  2. 是否可以通过使用 Apache Jackrabbit 来做到这一点?
4

2 回答 2

0

当您使用资源管理器右键单击特定文件时,您是在谈论 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,所以我帮不了你那么多。

于 2013-11-14T06:24:58.017 回答
0

Apache Jackrabbit不会帮助您为存储在文件系统中的文件设置属性。

它可以很好地管理它自己存储的文件的任何类型的元数据,您可以通过 WebDAV 提供这些元数据,但这需要将文件存储在 JCR 存储库中。

于 2013-11-15T09:38:44.720 回答