public class FileTypeUtil extends Object
此工具根据文件的前几位bytes猜测文件类型,对于文本、zip判断不准确,对于视频、图片类型判断准确
需要注意的是,xlsx、docx等Office2007格式,全部识别为zip,因为新版采用了OpenXML格式,这些格式本质上是XML文件打包为zip
Constructor and Description |
---|
FileTypeUtil() |
Modifier and Type | Method and Description |
---|---|
static String |
getType(File file)
根据文件流的头部信息获得文件类型
|
static String |
getType(InputStream in)
根据文件流的头部信息获得文件类型
|
static String |
getType(String fileStreamHexHead)
根据文件流的头部信息获得文件类型
|
static String |
getTypeByPath(String path)
通过路径获得文件类型
|
static String |
putFileType(String fileStreamHexHead,
String extName)
增加文件类型映射
如果已经存在将覆盖之前的映射 |
static String |
removeFileType(String fileStreamHexHead)
移除文件类型映射
|
public static String putFileType(String fileStreamHexHead, String extName)
fileStreamHexHead
- 文件流头部Hex信息extName
- 文件扩展名public static String removeFileType(String fileStreamHexHead)
fileStreamHexHead
- 文件流头部Hex信息public static String getType(String fileStreamHexHead)
fileStreamHexHead
- 文件流头部16进制字符串null
public static String getType(InputStream in) throws IORuntimeException
in
- InputStream
null
IORuntimeException
- 读取流引起的异常public static String getType(File file) throws IORuntimeException
1、无法识别类型默认按照扩展名识别 2、xls、doc、msi头信息无法区分,按照扩展名区分 3、zip可能为docx、xlsx、pptx、jar、war头信息无法区分,按照扩展名区分
file
- 文件 File
null
IORuntimeException
- 读取文件引起的异常public static String getTypeByPath(String path) throws IORuntimeException
path
- 路径,绝对路径或相对ClassPath的路径IORuntimeException
- 读取文件引起的异常Copyright © 2021. All rights reserved.