public class FileTypeUtils extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
private static Map<String,String> |
FILE_TYPE_MAP |
| 构造器和说明 |
|---|
FileTypeUtils() |
| 限定符和类型 | 方法和说明 |
|---|---|
static String |
getType(File file)
根据文件流的头部信息获得文件类型
1、无法识别类型默认按照扩展名识别
2、xls、doc、msi头信息无法区分,按照扩展名区分
3、zip可能为jar、war头信息无法区分,按照扩展名区分
|
static String |
getType(File file,
boolean isExact)
根据文件流的头部信息获得文件类型
1、无法识别类型默认按照扩展名识别
2、xls、doc、msi头信息无法区分,按照扩展名区分
3、zip可能为jar、war头信息无法区分,按照扩展名区分
|
static String |
getType(InputStream in)
|
static String |
getType(InputStream in,
boolean isExact)
|
static String |
getType(InputStream in,
int fileHeadSize)
根据文件流的头部信息获得文件类型
|
static String |
getType(InputStream in,
String filename)
根据文件流的头部信息获得文件类型
注意此方法会读取头部64个bytes,造成此流接下来读取时缺少部分bytes
因此如果想复用此流,流需支持 InputStream.reset()方法。 |
static String |
getType(InputStream in,
String filename,
boolean isExact)
根据文件流的头部信息获得文件类型
注意此方法会读取头部一些bytes,造成此流接下来读取时缺少部分bytes
因此如果想复用此流,流需支持 InputStream.reset()方法。 |
static String |
getType(String fileStreamHexHead)
根据文件流的头部信息获得文件类型
|
static String |
getTypeByPath(String path)
通过路径获得文件类型
|
static String |
getTypeByPath(String path,
boolean isExact)
通过路径获得文件类型
|
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进制字符串nullpublic static String getType(InputStream in, int fileHeadSize) throws RuntimeException
in - 文件流fileHeadSize - 自定义读取文件头部的大小nullRuntimeExceptionpublic static String getType(InputStream in, boolean isExact) throws RuntimeException
in - InputStreamisExact - 是否精确匹配,如果为false,使用前64个bytes匹配,如果为true,使用前8192bytes匹配null或未找到为nullRuntimeException - 读取流引起的异常public static String getType(InputStream in) throws RuntimeException
in - InputStreamnullRuntimeException - 读取流引起的异常public static String getType(InputStream in, String filename) throws RuntimeException
InputStream.reset()方法。
1、无法识别类型默认按照扩展名识别
2、xls、doc、msi头信息无法区分,按照扩展名区分
3、zip可能为docx、xlsx、pptx、jar、war、ofd头信息无法区分,按照扩展名区分
in - InputStreamfilename - 文件名nullRuntimeException - 读取流引起的异常public static String getType(InputStream in, String filename, boolean isExact) throws RuntimeException
InputStream.reset()方法。
1、无法识别类型默认按照扩展名识别
2、xls、doc、msi头信息无法区分,按照扩展名区分
3、zip可能为docx、xlsx、pptx、jar、war、ofd头信息无法区分,按照扩展名区分
in - InputStreamfilename - 文件名isExact - 是否精确匹配,如果为false,使用前64个bytes匹配,如果为true,使用前8192bytes匹配nullRuntimeException - 读取流引起的异常public static String getType(File file, boolean isExact) throws RuntimeException
1、无法识别类型默认按照扩展名识别
2、xls、doc、msi头信息无法区分,按照扩展名区分
3、zip可能为jar、war头信息无法区分,按照扩展名区分
file - 文件 FileisExact - 是否精确匹配,如果为false,使用前64个bytes匹配,如果为true,使用前8192bytes匹配nullRuntimeException - 读取文件引起的异常public static String getType(File file) throws RuntimeException
1、无法识别类型默认按照扩展名识别
2、xls、doc、msi头信息无法区分,按照扩展名区分
3、zip可能为jar、war头信息无法区分,按照扩展名区分
file - 文件 FilenullRuntimeException - 读取文件引起的异常public static String getTypeByPath(String path, boolean isExact) throws RuntimeException
path - 路径,绝对路径或相对ClassPath的路径isExact - 是否精确匹配,如果为false,使用前64个bytes匹配,如果为true,使用前8192bytes匹配RuntimeException - 读取文件引起的异常public static String getTypeByPath(String path) throws RuntimeException
path - 路径,绝对路径或相对ClassPath的路径RuntimeException - 读取文件引起的异常Copyright © 2024. All rights reserved.