Java:通过读取文件头来得到文件真实类型

在处理上传文件时,除了通过扩展名判断文件类型,还可以依据文件头信息来准确识别。本文介绍了如何创建文件枚举类,定义文件类型与文件头的映射,并展示了类型判断的核心实现及使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

誊抄自原来的笔记

背景

有时我们需要对上传的文件进行判断文件类型,一般我们可以通过扩展名来判断文件属于什么类型,但是当文件没有扩展名或者一张图片改成了txt,我们通过扩展名的方式来判断是不是就不太合适了呢,其实我们可以根据文件中的文件头来判断实际文件类型

一,新建文件枚举类(文件类型与文件头之间的映射关系)

package cn.test.enums;


/**
 * 用于判断上传文件的真实文件类型的枚举类
 */
public enum FileType {
   
	/**
	 * JEPG.
	 */
	JPEG("FFD8FF"),


	/**
	 * PNG.
	 */
	PNG("89504E47"),


	/**
	 * GIF.
	 */
	GIF("47494638"),


	/**
	 * TIFF.
	 */
	TIFF("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).
	 */
	PST("2142444E"),


	/**
	 * MS Word/Excel.
	 */
	XLS_DOC("D0CF11E0"),


	/**
	 * MS Access.
	 */
	MDB("5374616E64
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值