ファイルタイプの判断

6913 ワード

ファイルタイプ(ファイルの真のタイプは、拡張子による判断ではない)を判断し、ファイルヘッダによって判断する
ファイルタイプ列挙パラメータコードは次のとおりです.
using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;



namespace ServiceContract

{

    public class FileExtension

    {

        public enum FileExtensions

        {

            JPG = 255216,

            GIF = 7173,

            PNG = 13780,

            SWF = 6787,

            RAR = 8297,

            ZIP = 8075,

            _7Z = 55122,

            VALIDFILE = 9999999

            // 255216 jpg;         

            // 7173 gif;          

            // 6677 bmp,       

            // 13780 png;       

            // 6787 swf         

            // 7790 exe dll,         

            // 8297 rar       

            // 8075 zip     

            // 55122 7z      

            // 6063 xml       

            // 6033 html     

            // 239187 aspx      

            // 117115 cs         

            // 119105 js         

            // 102100 txt        

            // 255254 sql   

        }

    }

}

ファイルの呼び出し方法は次のとおりです.
 /// <summary>

        ///  

        /// </summary>

        /// <param name="sFileName"> </param>

        /// <returns>  false ZIP ,true  ZIP </returns>

        private bool FileExtensions(string sFileName)

        {

            bool type = false;

            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();

                if (bx == FileExtension.FileExtensions.ZIP.GetHashCode().ToString())

                {

                   // MessageBox.Show(" ZIP ");

                    type = true;

                }

                else

                {

                    MessageBox.Show(" ZIP ,
\r :
\r1、 。
\r2、 .zip
", " ", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception exc) { MessageBox.Show(exc.Message); } return type; }