根据文件头数据判断文件类型

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

根据⽂件头数据判断⽂件类型

现有⼀⽂件,其扩展名未知或标记错误。假设它是⼀个正常的、⾮空的⽂件,且将扩展名更正后可以正常使⽤,那么,如何判断它是哪种类型的⽂件?

在后缀未知,或者后缀被修改的⽂件,依然通过⽂件头来判断该⽂件究竟是什么⽂件类型。我们可以使⽤⼀个⽂本编辑⼯具如UltraEdit打开⽂件(16进制模式下),然后看⽂件头是什么字符,以下是常见⽂件类型的⽂件头字符(16进制),希望对你有帮助:

JPEG (jpg),⽂件头:FFD8FF

PNG (png),⽂件头:89504E47

GIF (gif),⽂件头:47494638

TIFF (tif),⽂件头:49492A00

Windows Bitmap (bmp),⽂件头:424D

CAD (dwg),⽂件头:41433130

Adobe Photoshop (psd),⽂件头:38425053

Rich Text Format (rtf),⽂件头:7B5C727466

XML (xml),⽂件头:3C3F786D6C

HTML (html),⽂件头:68746D6C3E

Email [thorough only] (eml),⽂件头:44656C69766572792D646174653A

Outlook Express (dbx),⽂件头:CFAD12FEC5FD746F

Outlook (pst),⽂件头:2142444E

MS Word/Excel (xls.or.doc),⽂件头:D0CF11E0

MS Access (mdb),⽂件头:5374616E64617264204A

WordPerfect (wpd),⽂件头:FF575043

Postscript (eps.or.ps),⽂件头:252150532D41646F6265

Adobe Acrobat (pdf),⽂件头:255044462D312E

Quicken (qdf),⽂件头:AC9EBD8F

Windows Password (pwl),⽂件头:E3828596

ZIP Archive (zip),⽂件头:504B0304

RAR Archive (rar),⽂件头:52617221

Wave (wav),⽂件头:57415645

AVI (avi),⽂件头:41564920

Real Audio (ram),⽂件头:2E7261FD

Real Media (rm),⽂件头:2E524D46

MPEG (mpg),⽂件头:000001BA

MPEG (mpg),⽂件头:000001B3

Quicktime (mov),⽂件头:6D6F6F76

Windows Media (asf),⽂件头:3026B2758E66CF11

MIDI (mid),⽂件头:4D546864

下⾯在提供⼀个⽹上使⽤java写的根据头⽂件码判断⽂件类型

package com;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.util.Date;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

public class FileType {

public final static Map<String, String> FILE_TYPE_MAP = new HashMap<String, String>();

private FileType(){}

static{

getAllFileType(); //初始化⽂件类型信息

}

/**

* Discription:[getAllFileType,常见⽂件头信息]

*/

private static void getAllFileType()

{

FILE_TYPE_MAP.put("ffd8ffe000104a464946", "jpg"); //JPEG (jpg)

FILE_TYPE_MAP.put("89504e470d0a1a0a0000", "png"); //PNG (png)

FILE_TYPE_MAP.put("47494638396126026f01", "gif"); //GIF (gif)

FILE_TYPE_MAP.put("49492a00227105008037", "tif"); //TIFF (tif)

FILE_TYPE_MAP.put("424d228c010*********", "bmp"); //16⾊位图(bmp)

FILE_TYPE_MAP.put("424d8240090000000000", "bmp"); //24位位图(bmp)

FILE_TYPE_MAP.put("424d8e1b030000000000", "bmp"); //256⾊位图(bmp)

FILE_TYPE_MAP.put("41433130313500000000", "dwg"); //CAD (dwg)

FILE_TYPE_MAP.put("3c21444f435459504520", "html"); //HTML (html)

FILE_TYPE_MAP.put("3c21646f637479706520", "htm"); //HTM (htm)

FILE_TYPE_MAP.put("48544d4c207b0d0a0942", "css"); //css

FILE_TYPE_MAP.put("696b2e71623d696b2e71", "js"); //js

FILE_TYPE_MAP.put("7b5c727466315c616e73", "rtf"); //Rich Text Format (rtf)

FILE_TYPE_MAP.put("38425053000100000000", "psd"); //Photoshop (psd)

FILE_TYPE_MAP.put("46726f6d3a203d3f6762", "eml"); //Email [Outlook Express 6] (eml)

相关文档
最新文档