判断文件类型(文件的真正类型,不是根据扩展名判断),通过文件头来判断

                bool xx=false;  //default sFileName is not Exe or Dll File
                System.IO.FileStream  fs=new System.IO.FileStream(sFileName,System.IO.FileMode.Open,System.IO.FileAccess.Read);
                System.IO.BinaryReader r
=new System.IO.BinaryReader(fs);
                
string bx="";
                
byte buffer;
                
try
                
{
                    buffer
=r.ReadByte();
                    bx
=buffer.ToString();
                    buffer
=r.ReadByte();
                    bx
+=buffer.ToString();

                }

                
catch (Exception exc)
                
{
                    Console.WriteLine(exc.Message);
                }

                r.Close();
                fs.Close();
                
if (bx=="7790"||bx=="8297"||bx=="8075")//7790:exe,8297:rar,8075:pk
                {
                    xx
=true;
                }

                Console.WriteLine(bx);
                
return xx;
                dll:MZ
                exe:MZ
                rar:Rar
                zip:PK

posted @ 2005-01-18 08:33  jhtchina  阅读(8153)  评论(7)    收藏  举报