delphi判断文件类型

function getFileType(inputFile:string):string;
const

JPEG_FLAG_BEGIN = $D8FF;
JPEG_FLAG_END = $D9FF;
JPEG_FRAME = $C0FF;


GIF_FLAG_BEGIN=$4947;
GIF_FLAG_END=$3B00;

PNG_FLAG_BEGIN=$5089;
PNG_FLAG_END=$8260;

BMP_FLAG_BEGIN=$4D42;

EXE_FLAG_BEGIN=$5A4D;

ZIP_7Z_FLAG_BEGIN=$7A37;
ZIP_FLAG_BEGIN=$4B50;
var
FileStream: TFileStream;
BeginFlag,EndFlag: WORD;

begin
result:='Unkown';
FileStream:=nil;
try
FileStream := TFileStream.Create(inputFile,fmOpenRead);

FileStream.Position:=0;
FileStream.Read(BeginFlag, SizeOf(BeginFlag));

FileStream.Position := FileStream.Size - 2;
FileStream.Read(EndFlag, SizeOf(EndFlag));


if (BeginFlag = JPEG_FLAG_BEGIN) and (EndFlag = JPEG_FLAG_END) then
result:='JPG';

if (BeginFlag = GIF_FLAG_BEGIN) and (EndFlag = GIF_FLAG_END) then
result:='GIF';

if (BeginFlag = PNG_FLAG_BEGIN) and (EndFlag = PNG_FLAG_END) then
result:='PNG';

if (BeginFlag = BMP_FLAG_BEGIN) then
result:='BMP';


if (BeginFlag = EXE_FLAG_BEGIN) then
result:='EXE';

if BeginFlag =ZIP_7Z_FLAG_BEGIN then
result:='7Z';

if BeginFlag =ZIP_FLAG_BEGIN then
result:='Zip';

 


finally
freeandnil(FileStream);
end;

end;

转载于:https://www.cnblogs.com/yzryc/p/6150052.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值