如果在c#
中没有扩展名,如何检查文件类型例如,我有没有扩展名的文件,它们是.mp4或.flv格式(只是没有扩展名)。我计划将这些视频文件转换为音频文件,但我想在开始转换之前确定文件类型。有没有办法在C#中做到这一点?
我在想,也许我可以将文件重命名为name.mp4,然后对该文件执行一些任务 A)成功,意味着文件确实是.mp4,或 B)失败,在这种情况下我可以将其重命名为.flv
然后将文件转换为适当的扩展名。 c#中是否存在可以查看.mp4属性或.flv属性的本机进程?我不想将文件重命名为.mp4,然后在第三方应用程序(如Windows Media Player)中打开它,以查看我是否正确命名。
答案 0 :(得分:3)
我听说过读取文件内容的前几个字节,并对文件的格式进行了有根据的猜测。这个链接看起来很有希望:
Using .NET, how can you find the mime type of a file based on the file signature not the extension
答案 1 :(得分:3)
我玩过这个实用程序(TrID - File Identifier)并且看起来非常准确。文件类型定义包(TrIDDefs)也是最新的。
如果您感兴趣,Here是文件类型签名表的列表。该清单正在继续进行中。