正在确定给定FileStream的文件扩展名

本文关键字:文件 扩展名 FileStream | 更新日期: 2023-09-27 18:20:36

有什么方法可以知道FileStream的类型吗。我有一个接受FileStream对象的函数,我想根据该FileStream确定文件扩展名。

正在确定给定FileStream的文件扩展名

 string extension = Path.GetExtension(myFileStream.Name);

如果流真的是FileStream,那么您应该能够执行以下

var ext = Path.GetExtension(fileStream.Name);

如果它是一个普通的旧Stream,那么通常不可能获得扩展,因为可以为任何字节流创建Stream。它不必有备份文件。

更新

正如Chris在评论中指出的,还有一个SO问题与本次讨论有关。它讨论了确定byte[]类型的启发式方法,然后可以将其映射到可能的原始签名。

  • 在C#中,如何从字节[]中知道文件类型

这绝非万无一失,但可能对你有所帮助。

是的,使用文件名,将返回.txt(包括.):

var path = myFileStream.Name;
return Path.GetExtension(path);