博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用apache.tika判断文件类型
阅读量:6227 次
发布时间:2019-06-21

本文共 1649 字,大约阅读时间需要 5 分钟。

hot3.png

判断文件类型一般可采用两种方式

  1. 后缀名判断 
    简单易操作,但无法准确判断类型
  2. 文件头信息判断 
    通常可以判断文件类型,但有些文件类型无法判断(如word和excel头信息的前几个字节是一样的,无法判断)

使用apache.tika可轻松解决以上两种方式存在的问题

 

使用apache.tika判断文件类型

1. maven依赖

org.apache.tika
tika-core
1.9

 

2. 具体实现

private static String getMimeType(File file) {        if (file.isDirectory()) {            return "the target is a directory";        }        AutoDetectParser parser = new AutoDetectParser();        parser.setParsers(new HashMap
()); Metadata metadata = new Metadata(); metadata.add(TikaMetadataKeys.RESOURCE_NAME_KEY, file.getName()); InputStream stream; try { stream = new FileInputStream(file); parser.parse(stream, new DefaultHandler(), metadata, new ParseContext()); stream.close(); } catch (TikaException | SAXException | IOException e) { e.printStackTrace(); } return metadata.get(HttpHeaders.CONTENT_TYPE); }

 

3. 常见文件类型

MimeType 文件类型
application/msword word(.doc)
application/vnd.ms-powerpoint powerpoint(.ppt)
application/vnd.ms-excel excel(.xls)
application/vnd.openxmlformats-officedocument.wordprocessingml.document word(.docx)
application/vnd.openxmlformats-officedocument.presentationml.presentation powerpoint(.pptx)
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet excel(.xlsx)
application/x-rar-compressed rar
application/zip zip
application/pdf pdf
video/* 视频文件
image/* 图片文件
text/plain 纯文本
text/css css文件
text/html html文件
text/x-java-source java源代码
text/x-csrc c源代码
text/x-c++src c++源代码

 

转载于:https://my.oschina.net/lvzhitao/blog/786045

你可能感兴趣的文章
个人作业-Week2 案例分析
查看>>
SVN提交错误及使用技巧
查看>>
服务器程序和应用程序
查看>>
hibernate执行过程
查看>>
C++专题(一)
查看>>
博客园。侧边公告代码
查看>>
[codevs3118]高精度除法<高精度>
查看>>
学JS的心路历程-闭包closure
查看>>
本周总结
查看>>
苹果企业账号申请
查看>>
Problem O
查看>>
胜利大逃亡
查看>>
畅通工程(并查集找根节点)
查看>>
【工具使用】sublime text3
查看>>
SQL Server查询优化器的工作原理
查看>>
关于成长的一点碎碎念
查看>>
java生成指定范围的随机数
查看>>
Easy ui Datagrid(下拉、复选、只输入数字、文本) 追加、删除、更改
查看>>
20145209刘一阳 《网络对抗》逆向及BOF基础实践
查看>>
Groovy's dynamic mixin
查看>>