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文件。否则就不是。
{
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文件。否则就不是。
相关文章推荐
- C#源代码—编写一个程序求出所有的“水仙花数”。“水仙花数”是指一个3位数,其各位数字的立方和恰好等于该数本身。例如153=1*1*1+5*5*5+3*3*3,所以153是“水仙花数”。
- C#概念系统总结
- Interception c# code
- DES加密解密
- C#语法杂谈
- c#winform使用WebBrowser 大全
- C#语言基础之变量、运算符、转义符
- 【C#】使用ADO .Net Entities Framework 与WPF ListBox控件绑定
- C#找出字符串中某一字符的所有位置
- 跟siki老师学C#第三天(下)
- C#基础精华08(反射,程序集)
- C#基础精华08(反射,程序集)
- C#中的异常捕获机制(try catch finally)
- C#异步编程 z
- 黄聪:C# 开发Chrome内核浏览器(WebKit.net)
- C# 获取本机指定类型指定网卡的Ip地址
- 黄聪:如何使用WebKitBrowser调用元素点击事件(C#)
- 关于基类中函数修饰符abstract和virtual的使用
- C#异步编程
- C# 版本设计模式(Design Pattern)(转)