介绍
小编给大家分享一下Java如何实现获取和判断文件头信息工具类,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
Java实现的获取和判断文件头信息工具类用法,具体如下:
package 测试; import java.io.FileInputStream; import java.io.IOException; import java.util.HashMap;/* * ,*获取和判断文件头信息 ,* ,* @author Sud ,* ,*/public class  GetTypeByHead {//,才能缓存文件头信息——文件头信息 public 才能static final  HashMap<字符串,,String>, mFileTypes =, new HashMap<字符串,String> (); static {才能 ,,,//图片 ,,,mFileTypes.put (“FFD8FF",,“jpg"); ,,,mFileTypes.put (“89504 e47",,“png"); ,,,mFileTypes.put (“47494638”,,“gif"); ,,,mFileTypes.put (“49492 a00",,“tif"); ,,,mFileTypes.put (“424 d",,“bmp"); ,,//,,,mFileTypes.put (“41433130”,,“dwg");//, CAD ,,,mFileTypes.put (“38425053”,,“psd"); ,,,mFileTypes.put (“7 b5c727466",,“rtf");,//,日记本 ,,,mFileTypes.put (“3 c3f786d6c",,“xml"); ,,,mFileTypes.put (“68746 d6c3e",,“html"); ,,,mFileTypes.put (“44656 c69766572792d646174653a",,“eml");,//,邮件 ,,,mFileTypes.put (“D0CF11E0",,“doc"); ,,,mFileTypes.put (“5374616 e64617264204a",,“mdb"); ,,,mFileTypes.put (“252150532 d41646f6265",,“ps"); ,,,mFileTypes.put (“255044462 d312e",,“pdf"); ,,,mFileTypes.put (“504 b0304",,“docx"); ,,,mFileTypes.put (“52617221”,,“rar"); ,,,mFileTypes.put (“57415645”,,“wav"); ,,,mFileTypes.put (“41564920”,,“avi"); ,,,mFileTypes.put (“2 e524d46",,“rm"); ,,,mFileTypes.put (“000001 ba",,“mpg"); ,,,mFileTypes.put (“000001 b3",,“mpg"); ,,,mFileTypes.put (“6 d6f6f76",,“mov"); ,,,mFileTypes.put (“3026 b2758e66cf11",,“asf"); ,,,mFileTypes.put (“4 d546864",,“mid"); ,,,mFileTypes.put (“1 f8b08",,“gz"); ,,,mFileTypes.put (“4 d5a9000",,“exe/dll"); ,,,mFileTypes.put (“75736167”,,“txt"); ,,} ,/* * ,,*,根据文件路径获取文件头信息 ,,* ,,*,@param filePath *,,,,,,,,文件路径 ,,*,@return 文件头信息 ,,*/public 才能static String  getFileType (String filePath), { ,,,System.out.println (getFileHeader (filePath)); ,,,System.out.println (mFileTypes.get (getFileHeader (filePath))); ,,,return mFileTypes.get (getFileHeader (filePath)); ,,} ,/* * ,,*,根据文件路径获取文件头信息 ,,* ,,*,@param filePath *,,,,,,,,文件路径 ,,*,@return 文件头信息 ,,*/public 才能static String  getFileHeader (String filePath), { ,,,FileInputStream is =,空; ,,,String value =,空; ,,,try { ,,,,,is =, new FileInputStream (filePath); ,,,,,byte [], b =, new 字节[4]; ,,,,/* ,,,,,,*,int 阅读(),从此输入流中读取一个数据字节只int 阅读(byte [], b),从此输入流中将最多,b.length ,,,,,,*,个字节的数据读入一个,byte 数组中只int 阅读(byte [], b,, int ,, int 兰) ,,,,,,*,从此输入流中将最多,len ,个字节的数据读入一个,byte 数组中。 ,,,,,*/,,,,,is.read (b,, 0,, b.length); ,,,,,value =, bytesToHexString (b); null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null nullJava如何实现获取和判断文件头信息工具类