如何判断一个文件的类型,通过读它的原文件?(二进制文件的头)

时间:2022-01-12 20:56:01
如何判断一个文件的类型,通过读它的原文件的二进制文件的头?
例如:01 ff 8d....
而不是用OpenDialog,因为我们要判断音频或视频文件用什么程序播放!

13 个解决方案

#1


pu

#2


up

#3


up

#4


任何类型的文件的头部都有个标志,BMP是“BM”,
WAV是“RIFF”,RM是“.RMF”等,你可以自己用UltraEdit打开看一下。

#5


但是如何用Delphi读它的头文件,可以区别出它是什么类型的文件,用什么程序打开!?

#6


读文件用流就可以了

#7


sean2000(地宽天高) 
举个例子好吗?

#8


var
  fs: TFileStream;
  Str: array [0..20-1] of Char;
begin
  fs := TFileStream.Create('d:\test.bmp', fmOpenRead);
  try
    fs.Read(Str,20);
    memo1.lines.Add(Str);
  finally
    fs.Free;
  end;
end;

#9


sean2000(地宽天高)
谢谢,但是另一个问题:如MP3和ASF读出来的是乱码怎么判断呢?

#10


memo1是什么东西?
finally
是什么意思啊?
刚开始接触delphi的菜鸟,我是,大瞎们不要见笑啊!~~

#11


哈哈~~我不是大虾!我可以笑!
帮楼主UP

#12


那你不如用
function ExtractFileExt(const FileName: string): 
string;返回文件扩展名来判断文件类型呢。
一家之言。

#13


http://www.csdn.net/dev/Format/#声音文件
http://it.yn.cninfo.net/news/21/2001-10-26/news_770_0.shtml

#1


pu

#2


up

#3


up

#4


任何类型的文件的头部都有个标志,BMP是“BM”,
WAV是“RIFF”,RM是“.RMF”等,你可以自己用UltraEdit打开看一下。

#5


但是如何用Delphi读它的头文件,可以区别出它是什么类型的文件,用什么程序打开!?

#6


读文件用流就可以了

#7


sean2000(地宽天高) 
举个例子好吗?

#8


var
  fs: TFileStream;
  Str: array [0..20-1] of Char;
begin
  fs := TFileStream.Create('d:\test.bmp', fmOpenRead);
  try
    fs.Read(Str,20);
    memo1.lines.Add(Str);
  finally
    fs.Free;
  end;
end;

#9


sean2000(地宽天高)
谢谢,但是另一个问题:如MP3和ASF读出来的是乱码怎么判断呢?

#10


memo1是什么东西?
finally
是什么意思啊?
刚开始接触delphi的菜鸟,我是,大瞎们不要见笑啊!~~

#11


哈哈~~我不是大虾!我可以笑!
帮楼主UP

#12


那你不如用
function ExtractFileExt(const FileName: string): 
string;返回文件扩展名来判断文件类型呢。
一家之言。

#13


http://www.csdn.net/dev/Format/#声音文件
http://it.yn.cninfo.net/news/21/2001-10-26/news_770_0.shtml