怎么判断TXT文件类型?

来源:互联网 发布:大数据在追溯中的应用 编辑:程序博客网 时间:2024/03/29 16:48
public static bool JudgeIsSpecialFormat(string sFileName)     {          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);          }          finally          {              if (r != null) r.Close();               if (fs != null) fs.Close();          }          if   (bx == "7790" || bx == "8297" || bx == "8075")//7790:exe,8297:rar,8075:pk (zip)          {               xx=true;           }           Console.WriteLine(bx);           return   xx;          }

I still have no idea about what the file header is. And when I applied this to check the files in one of my local folder, I found
    .css files: "xx" can be "4742" or "46110";
as it is shown, TXT files (.css) can have different values -- I must admit I editted one of the .css file with EditPlus, this might cause the differency -- so at present I still do not know how to judge whether a file is of TXT format, until I can list all the possible "xx" value for it.

More "xx" possible values of different files:
    .gif files: "7173"
    .ppt files: "208207"
    .log files: "4545"
    .txt files: "4545", "3232", "60104"
    .html files: "60104"
    .xml files: "6063"
    .xsd files: "6063"
    .xls files: "208207"
    .doc files: "208207"
    .msi files: "208207"
    .jpg files: "6677"
    .JPG files: "255216"
    .js files: "102117"
    .conf files: "3513"
    .jar files: "8075" -- so it can be opened by winzip?


原创粉丝点击