博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
判断文件类型
阅读量:4971 次
发布时间:2019-06-12

本文共 2220 字,大约阅读时间需要 7 分钟。

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

文件类型枚举参数代码如下:

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           }    }}

文件调用方法如下:

///         /// 判断文件类型        ///         /// 文件路径        /// 
检查状态 false不是正确的ZIP包,true 是正确的ZIP包
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包,\n\r可能有以下原因:\n\r1、压缩格式不对。\n\r2、直接将文件后缀名改为.zip", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception exc) { MessageBox.Show(exc.Message); } return type; }

 

转载于:https://www.cnblogs.com/happygx/p/3277897.html

你可能感兴趣的文章
理解爬虫原理
查看>>
ORA-01940:无法删除当前已链接的用户(转)
查看>>
Android手机里H5页面滚动图片时出现白屏
查看>>
使用过滤器解决JSP页面的乱码问题
查看>>
sql完整事务
查看>>
Node 连接池pool
查看>>
WebApi接口文档
查看>>
表单元素系列一
查看>>
算法面试题java
查看>>
如何推行Code Review
查看>>
JSON.parse()与JSON.stringify()高级用法
查看>>
git相关
查看>>
NOIP模拟题——细胞分裂
查看>>
设计模式1:简单工厂模式学习
查看>>
find 命令的参数详解
查看>>
mysql 主从复制
查看>>
06 django视图层
查看>>
《我的第一本C++书》——看图学C++(2)
查看>>
Spring(七)持久层
查看>>
开始记录学习java的笔记
查看>>