首页 > 解决方案 > Java - 检测文件密码是否受保护而不将其加载到内存中?

问题描述

有一些现有的帖子讨论“如何检测文档是否受密码保护”。

这可能是 MS Office 文档的这些链接中最全面的:检测受密码保护的文档(代码是用 C# 编写的)。

我在 Java 应用程序中,我希望能够检测 PDF、XLS、XLSX、DOC、DOCX 或 ZIP 文件是否受密码保护。

所以我立即找到了Apache Tika

但是我似乎无法找到一种方法来检测文档是否受密码保护,同时保证它不会解析整个文档并且不会在任何时候将整个文档加载到内存中。

我在想的是我设置了一个内容处理程序(我在这里有一个例子:https ://github.com/nddipiazza/tika-fork/blob/master/tika-fork-main/src/main/java/org /apache/tika/fork/main/TikaBodyContentHandler.java)我在 64K 或类似的东西之后停止解析。

有没有更简单的方法?

标签: javaapache-tika

解决方案


推荐阅读