知识大全 Java根据文件头获取文件类型
Posted 文件
篇首语:生活就是这样,别人看结果,自己撑过程。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java根据文件头获取文件类型相关的知识,希望对你有一定的参考价值。
Java根据文件头获取文件类型 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
件头是位于文件开头的一段承担一定任务的数据 一般都在开头的部分 头文件作为一种包含功能函数 数据接口声明的载体文件 用于保存程序的声明(declaration) 而定义文件用于保存程序的实现 (implementation)
为了解决在用户上传文件的时候在服务器端判断文件类型的问题 故用获取文件头的方式 直接读取文件的前几个字节 来判断上传文件是否符合格式 具体代码如下
Java代码 :
package test day io;
import java io FileInputStream;
import java io IOException;
import java util HashMap;
/**
* 获取和判断文件头信息
*
* @author bigbird
*
*/
public class FileType
//缓存文件头信息 文件头信息
public static final HashMap<String String> mFileTypes = new HashMap<String String>()
static
// images
mFileTypes put( FFD FF jpg )
mFileTypes put( E png )
mFileTypes put( gif )
mFileTypes put( A tif )
mFileTypes put( D bmp )
//
mFileTypes put( dwg ) // CAD
mFileTypes put( psd )
mFileTypes put( B C rtf ) // 日记本
mFileTypes put( C F D C xml )
mFileTypes put( D C E )
mFileTypes put( C D A eml ) // 邮件
mFileTypes put( D CF E doc )
mFileTypes put( E A mdb )
mFileTypes put( D F ps )
mFileTypes put( D E pdf )
mFileTypes put( B docx )
mFileTypes put( rar )
mFileTypes put( wav )
mFileTypes put( avi )
mFileTypes put( E D rm )
mFileTypes put( BA mpg )
mFileTypes put( B mpg )
mFileTypes put( D F F mov )
mFileTypes put( B E CF asf )
mFileTypes put( D mid )
mFileTypes put( F B gz )
mFileTypes put( )
mFileTypes put( )
/**
* 根据文件路径获取文件头信息
*
* @param filePath
* 文件路径
* @return 文件头信息
*/
public static String getFileType(String filePath)
return mFileTypes get(getFileHeader(filePath))
/**
* 根据文件路径获取文件头信息
*
* @param filePath
* 文件路径
* @return 文件头信息
*/
public static String getFileHeader(String filePath)
FileInputStream is = null;
String value = null;
try
is = new FileInputStream(filePath)
byte[] b = new byte[ ];
is read(b b length)
value = bytesToHexString(b)
catch (Exception e)
finally
if (null != is)
try
is close()
catch (IOException e)
return value;
/**
* 将要读取文件头信息的文件的byte数组转换成string类型表示
*
* @param src
* 要读取文件头信息的文件的byte数组
* @return 文件头信息
*/
private static String bytesToHexString(byte[] src)
StringBuilder builder = new StringBuilder()
if (src == null || src length <= )
return null;
String hv;
for (int i = ; i < src length; i++)
// 以十六进制(基数 )无符号整数形式返回一个整数参数的字符串表示形式 并转换为大写
hv = Integer toHexString(src[i] & xFF) toUpperCase()
if (hv length() < )
builder append( )
builder append(hv)
return builder toString()
public static void main(String[] args) throws Exception
final String fileType = getFileType( E:/读书笔记/Java编程思想读书笔记 docx )
System out println(fileType)
cha138/Article/program/Java/hx/201311/25980
相关参考
Java对话框获取目录、文件路径 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! publicFi
在JAVA文件中获取该项目的相对路径 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n
Java获取网络文件并插入数据库 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 抓取各大网站的数
Java实现获取指定路径下的指定格式的文件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 获取指
javah头文件生成器 javah程序创建C头文件和存根文件这些是把本地C成员函数包入java所需要的被创建的头文件给出了有关java类的信息这些信息是C成员函数与java类交换数据所必需的存根
PHP取二进制文件头快速判断文件类型 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一般我们都是
并不是所有类型的Java应用程序都能打包到单独的一个JAR文件中去必须符合一定的条件一个Java应用程序的所有文件才能打包到一个文件中去另外JAR文件有两种一种是有清单(manifest)文件的一
PHP获取文件权限函数介绍 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!以下是对PHP中的获取文件
在*.SQL文件里获取并使用变量 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 熟悉Oracle
C#获取网页html源文件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ///<summ