apache tika如何检测文件是否损坏

  介绍

这篇文章主要介绍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如何检测文件是否损坏