介绍
这篇文章主要介绍apache tika如何检测文件是否损坏,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
apache tika用于文件类型检测和从各种格式的文件内容提取的库。
将上传文件至服务器,进行解析文件时,经常需要判断文件是否损坏。我们可以使用tika来检测文件是否损坏
maven引入如下:
& lt; dependency> & lt;才能groupId> org.apache.tika</groupId> & lt;才能artifactId> tika-app</artifactId> & lt;才能version> 1.18 & lt;/version> & lt;/dependency> & lt; dependency> & lt;才能groupId> xerces</groupId> & lt;才能artifactId> xercesImpl</artifactId> & lt;才能version> 2.11.0</version> & lt;/dependency>
如果jar包冲突时可以引入如下:
& lt; dependency> & lt;才能groupId> org.apache.tika</groupId> & lt;才能artifactId> tika-core</artifactId> & lt;才能version> 1.18 & lt;/version> & lt;/dependency> & lt; dependency> & lt;才能groupId> org.apache.tika</groupId> & lt;才能artifactId> tika-parsers</artifactId> & lt;才能version> 1.18 & lt;/version> & lt;/dependency> & lt; dependency> & lt;才能groupId> xerces</groupId> & lt;才能artifactId> xercesImpl</artifactId> & lt;才能version> 2.11.0</version> & lt;/dependency>
使用tika检测文件是否损坏:
如果从输入流读取失败,则解析方法抛出IOException异常,从流中获取的文档不能被解析抛TikaException异常,处理器不能处理事件则抛SAXException异常
当文档不能被解析时,说明文档损坏
执行过程:
public static void main (String [], args), { ,,,try { ,,,,,//Assume sample.txt is your current 拷贝目录 ,,,,,File File =, new 文件(“D: \ \测试.txt"); ,,,,,boolean result =, isParseFile(文件); ,,,},catch (Exception e), { ,,,,,e.printStackTrace (); ,,,} ,,} , ,/* * ,,*,验证文件是否损坏 ,,* ,,*,@param file 文件 ,,*,@return 真/假 ,,*,@throws 例外 ,,*/private 才能static boolean  isParseFile (File 文件),throws Exception { ,,,try { ,,,,,Tika Tika =, new Tika (); ,,,,,String filecontent =, tika.parseToString(文件); ,,,,,System.out.println (filecontent); ,,,,,return 真实; ,,,},catch (TikaException e), { ,,,,,return 假; ,,,} 以前,,}>输出结果:
测试数据——读取文本内容
引用>apache tika如何检测文件是否损坏