您的位置:首页 > 编程语言 > C#

C#判断文件的真实格式

2016-01-17 11:13 513 查看
public static void CheckTrueFileName()

{

string path = @"D:\Sheet1.doc";

System.IO.FileStream fs = new System.IO.FileStream(path, 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();

//真实的文件类型

Console.WriteLine(bx);

//文件名,包括格式

Console.WriteLine(System.IO.Path.GetFileName(path));

//文件名, 不包括格式

Console.WriteLine(System.IO.Path.GetFileNameWithoutExtension(path));

//文件格式

Console.WriteLine(System.IO.Path.GetExtension(path));

Console.ReadLine();

}

通过上面的方法,可以获取到选定文件的格式编码,然后在根据文件格式编码就可以知道这个文件是否是想要的真实格式了。

public enum FileExtension

{

JPG = 255216,

GIF = 7173,

BMP = 6677,

PNG = 13780,

COM = 7790,

EXE = 7790,

DLL = 7790,

RAR = 8297,

ZIP = 8075,

XML = 6063,

HTML = 6033,

ASPX = 239187,

CS = 117115,

JS = 119105,

TXT = 210187,

SQL = 255254,

BAT = 64101,

BTSEED = 10056,

RDP = 255254,

PSD = 5666,

PDF = 3780,

CHM = 7384,

LOG = 70105,

REG = 8269,

HLP = 6395,

DOC = 208207,

XLS = 208207,

DOCX = 208207,

XLSX = 208207,

}

实例:string a=CheckTrueFileName();

if(a=="208207")那么这个文件就是excel文件。否则就不是。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: