I am searching for a java library which tells you the mime type by looking at the file content(byte array). I found this project using jmimemagic and it no longer supports newer file types (eg. MS word docx format) as it is inactive now (from 2006).

解决方案

Use Apache tika for content detection. Please find the link below. http://tika.apache.org/0.8/detection.html. We have so many jar dependencies which you can find when you build tika using maven

ByteArrayInputStream bai = new ByteArrayInputStream(pByte);

ContentHandler contenthandler = new BodyContentHandler();

Metadata metadata = new Metadata();

Parser parser = new AutoDetectParser();

try {

parser.parse(bai, contenthandler, metadata);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SAXException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (TikaException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

System.out.println("Mime: " + metadata.get(Metadata.CONTENT_TYPE));

return metadata.get(Metadata.CONTENT_TYPE);

文件内容查找java,java库从文件内容中查找mime类型相关推荐

  1. boost::program_options模块一个配置ini文件被解析程序选项库,它包括许多不同的值类型的测试程序

    boost::program_options模块一个配置ini文件被解析程序选项库,它包括许多不同的值类型的测试程序 实现功能 C++实现代码 实现功能 boost::program_options模 ...

  2. Java实现 LeetCode 609 在系统中查找重复文件(阅读理解+暴力大法)

    609. 在系统中查找重复文件 给定一个目录信息列表,包括目录路径,以及该目录中的所有包含内容的文件,您需要找到文件系统中的所有重复文件组的路径.一组重复的文件至少包括二个具有完全相同内容的文件. 输 ...

  3. python文件读写用到的库是什么_Python中的文件读写-理论知识

    Python处理两种不同类型的文件:二进制文件和文本文件.了解两者之间的差异很重要,因为它们的处理方式不同. 二进制文件 在正常计算机使用期间使用的大多数文件实际上是二进制文件,而不是文本.比如:Mi ...

  4. 【Android 安装包优化】使用 lib7zr.so 动态库处理压缩文件 ( 拷贝 lib7zr.so 动态库头文件到 Android 工程中 | 配置 CMakeLists.txt 构建脚本 )

    文章目录 一.拷贝 p7zip 源码中的头文件到 Android Studio 项目中 二.配置 CMakeLists.txt 构建脚本 1.导入动态库 2.导入头文件 三.完整 CMakeLists ...

  5. 标准C函数库头文件、POSIX标准库头文件和Windows API函数库头文件说明

    1. 标准C函数库头文件 名字 源自 描述 <assert.h> 包含断言宏,被用来在程序的调试版本中帮助检测逻辑错误以及其他类型的bug. <complex.h> C99 一 ...

  6. java数组查找指定元素_Java 实例 - 在数组中查找指定元素

    以下实例演示了如何使用 contains () 方法来查找数组中的指定元素:/* author by w3cschool.cc 文件名:Main.java */import java.util.Arr ...

  7. linux eclipse 头文件路径,Eclipse CDT标准库头文件设置

    使用eclipse cdt开发C/C++项目的时候,从eclipse官网下的linux下的专门版本在Fedora上能自动Discovery机器上的gcc/g++头文件.符号之类的,但是在我用的slac ...

  8. java byte 查找_在 stream流 和 byte[] 中查找(搜索)指定字符串

    在 stream流 和 byte[] 中查找(搜索)指定字符串 这里注重看的是两个 Search 的扩展方法,一个是 stream类型的扩展,另一个是 byte[] 类型的扩展, 如果大家有更好的&q ...

  9. java旋转数组查找某一个值_旋转数组中查找某个元素

    在一个排序的数组中,如{1,2,3,4,5,6,7},经过旋转后得到{4,5,6,7,1,2,3},当然也可以得到原数组{1,2,3,4,5,6,7},在该旋转后的数组中查找某个元素. 旋转后的数组可 ...

  10. 巧妙利用二分查找:力扣1095. 山脉数组中查找目标值

    1.题目描述: 2.题解: 二分查找 思路: 对于山脉数组,可以看成两部分:前有序数组.后有序数组,分别是升序和降序有序 可以分为三步: 1.找山顶元素mountaintop(也就是最大值)的索引 2 ...

最新文章

  1. 如何根据点云计算对应物体的长宽
  2. SAP UI5页面动画效果的实现,实际借用了jQuery的库文件
  3. Digital System Design_VHDL设计
  4. LeetCode 258 Add Digits
  5. 这本轻小说真厉害 2016
  6. 技术债务_如何处理技术债务并节省理智
  7. mysql 锁监视器_MySQL锁监视器
  8. 解决 IDEA 无法找到 java.util.Date 的问题
  9. 【转】英文版XP不能安装中文版软件
  10. 服务器 发布web项目路径,发布到 Web 平台
  11. 用python实现搜索树_二叉搜索树的python实现
  12. java sftp工具类_Java代码--SFTP工具类
  13. c语言入门手机自学软件,C语言入门学习
  14. ITween操作API
  15. 【PC】解决访问小米路由器外接硬盘需要密码/无密码访问小米路由器共享盘
  16. 鸿蒙比安卓流畅,华为鸿蒙系统首升用户体验:流畅得不像话,专属应用体积超小!...
  17. IDEA 2017.3.4 破解到2099年方法
  18. 逻辑智力测试-----让你怀疑人生!!
  19. 伽罗瓦死了,可是数学还活着
  20. 常用线性稳压器技术分析

热门文章

  1. 转: 回车(CR)与换行(LF), '\r'和'\n'的区别
  2. apache tomcat 整合
  3. 200多个js技巧代码(4)
  4. cocos2d: 使用TexturePacker , pvr.ccz, CCSpriteBatchNode, CCSpriteFrameCache
  5. C# 中奇妙的函数 -- 1. ToLookup
  6. 解读金山网盾3.5 0day漏洞免疫技术
  7. Linux System and Performance Monitoring
  8. 提升玩家游戏体验与账户安全,是游戏行业网络方案是重中之重
  9. 计算机之间是如何实现通信的?—Vecloud微云
  10. oracle本身的常用数据字典表