apache tika检测文件是否损坏的方法

 更新时间:2019年09月20日 13:40:59   作者:随遇而安~~~  
Apache Tika用于文件类型检测和从各种格式的文件内容提取的库。这篇文章主要介绍了apache tika检测文件是否损坏,需要的朋友可以参考下

Apache Tika用于文件类型检测和从各种格式的文件内容提取的库。

将上传文件至服务器,进行解析文件时,经常需要判断文件是否损坏。我们可以使用tika来检测文件是否损坏

maven引入如下:

<dependency>
  <groupId>org.apache.tika</groupId>
  <artifactId>tika-app</artifactId>
  <version>1.18</version>
</dependency>
<dependency>
  <groupId>xerces</groupId>
  <artifactId>xercesImpl</artifactId>
  <version>2.11.0</version>
</dependency>

  如果jar包冲突时可以引入如下:

<dependency>
  <groupId>org.apache.tika</groupId>
  <artifactId>tika-core</artifactId>
  <version>1.18</version>
</dependency>
<dependency>
  <groupId>org.apache.tika</groupId>
  <artifactId>tika-parsers</artifactId>
  <version>1.18</version>
</dependency>
<dependency>
  <groupId>xerces</groupId>
  <artifactId>xercesImpl</artifactId>
  <version>2.11.0</version>
</dependency>

使用tika检测文件是否损坏: 

  如果从输入流读取失败,则parse方法抛出IOException异常,从流中获取的文档不能被解析抛TikaException异常,处理器不能处理事件则抛SAXException异常

  当文档不能被解析时,说明文档损坏

执行过程:

public static void main(String[] args) {
    try {
      //Assume sample.txt is in your current directory
      File file = new File("D:\\测试.txt");
      boolean result = isParseFile(file);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
 
  /**
   * 验证文件是否损坏
   *
   * @param file 文件
   * @return true/false
   * @throws Exception
   */
  private static boolean isParseFile(File file) throws Exception {
    try {
      Tika tika = new Tika();
      String filecontent = tika.parseToString(file);
      System.out.println(filecontent);
      return true;
    } catch (TikaException e) {
      return false;
    }
  }

  输出结果:

测试数据---读取文本内容

总结

以上所述是小编给大家介绍的apache tika检测文件是否损坏的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • Linux VPS利用SSH重置ROOT密码的方法

    Linux VPS利用SSH重置ROOT密码的方法

    如果我们的VPS使用的是SolusVM客户端管理面板,我们直接在VPS商的管理后台就可以重置ROOT密码
    2012-09-09
  • 详解Linux内核进程调度函数schedule()的触发和执行时机

    详解Linux内核进程调度函数schedule()的触发和执行时机

    这篇文章主要介绍了详解Linux内核进程调度函数schedule()的触发和执行时机,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • CentOS6.5 升级 Python 2.7 版本详细介绍

    CentOS6.5 升级 Python 2.7 版本详细介绍

    这篇文章主要介绍了 CentOS6.5 升级 Python 2.7 版本详细介绍的相关资料,需要的朋友可以参考下
    2017-01-01
  • 2016年如何选择Linux发行版

    2016年如何选择Linux发行版

    这篇文章主要介绍了2016年选择Linux发行版的标准和原则,挑选几个将在2016 年里大放光彩的最佳发行版给大家介绍一下,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • Linux中查看文本的小技巧(超实用!)

    Linux中查看文本的小技巧(超实用!)

    这篇文章主要给大家介绍了关于Linux中查看文本的小技巧,这些小技巧非常的实用,文中通过示例代码介绍的非常详细,对大家学习或者使用linux系统具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • 详解Linux环境变量配置全攻略

    详解Linux环境变量配置全攻略

    这篇文章主要介绍了Linux环境变量配置全攻略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Linux运维工具Supervisor的安装使用(进程管理工具)

    Linux运维工具Supervisor的安装使用(进程管理工具)

    这篇文章主要介绍了Linux运维工具Supervisor的安装使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • Linux查看系统配置常用命令详解

    Linux查看系统配置常用命令详解

    这篇文章主要为大家详细介绍了Linux查看系统配置常用命令,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Linux下的 mariadb 使用 root 用户启动方式(推荐)

    Linux下的 mariadb 使用 root 用户启动方式(推荐)

    这篇文章主要介绍了Linux下的 mariadb 使用 root 用户启动方式,本文内容虽然简单,但是给大家介绍的非常到位,通过实例文字说明,需要的朋友可以参考下
    2019-11-11
  • linux top命令详解

    linux top命令详解

    这篇文章主要介绍了linux top命令详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02

最新评论