C#如何识别文件格式?

2025-04-03 18:00:29
推荐回答(5个)
回答1:

读取文件头, 可以解决问题。例如,你要查看一个图片是否“真”的是“jpg”格式的。那么就需要提取2个字节,如果文件头标示是“255216”就说明是“jpg”格式的。代码如下:
FileStream fs = new FileStream(@"C:\1.jpg", FileMode.Open, FileAccess.Read);
byte[] imagebytes = new byte[fs.Length];
BinaryReader br = new BinaryReader(fs);//二进制文件读取器
imagebytes = br.ReadBytes(2);//从当前流中将2个字节读入字节数组中
string s = "";
for (int i = 0; i < imagebytes.Length; i++)
{
s += imagebytes[i];
}
if(s=="255216")
Console.WriteLine("是jpg格式");
else
Console.WriteLine("不是jpg格式");

各种文件格式文件头占的字节不一样,譬如:jpg,2个字节;png,8个字节;gif,6个字节。你只需要改变读取的字节数,在判断就可以了。

回答2:

(首先)要让系统显示文件后缀名称。做法:我的电脑点进去 里面的工具点文件选项里再点查看里有个隐藏已知类型的扩张名购掉
(然后)获取文件名称。然后得到文件的后缀名,比如txt(文本文件)或是doc(word文档),在根据具体情况进行判断即可。

回答3:

把文件名的后缀名全部显示出来,在程序里 fileName.indexOf('.jpg')>-1 来判断是否是某种后缀名

回答4:

用稍微旧一点的暴风影音打开,大部分非音视频格式的文件都会提示错误并显示该文件的真正格式

回答5:

学习过了