3

当c#中没有扩展名时如何检查文件类型

例如,我有没有扩展名的文件,它们是 .mp4 或 .flv 格式(只是没有扩展名)。我计划将这些视频文件转换为音频文件,但是我想在开始转换之前确定文件类型。有没有办法在 C# 中做到这一点?

我在想也许我可以将文件重命名为name.mp4,然后对文件执行一些任务,要么A)成功,这意味着文件确实是.mp4,要么B)失败,在这种情况下我可以将其重命名为 .flv

然后将文件转换为适当的扩展名。c# 中是否有可以查看 .mp4 属性或 .flv 属性的本机进程?我不想将文件重命名为 .mp4,然后在第三方应用程序(例如 Windows Media Player)中打开它,以查看我是否正确命名它。

4

2 回答 2

4

我听说过读取文件内容的前几个字节并对文件的格式进行有根据的猜测。这个链接似乎很有希望:

使用 .NET,如何根据文件签名而不是扩展名找到文件的 mime 类型

于 2012-03-17T04:50:33.393 回答
3

我玩过这个实用程序(TrID - File Identifier),看起来很准确。文件类型定义包 (TrIDDefs) 也是最新的。

如果您感兴趣,这里是文件类型签名表的列表。该清单仍在进行中。

于 2012-03-17T05:59:52.457 回答