【问题标题】:Determining file extension given a FileStream确定给定 FileStream 的文件扩展名
【发布时间】:2012-02-13 10:17:21
【问题描述】:

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

【问题讨论】:

    标签: c# filestream file-extension


    【解决方案1】:

    如果流确实是FileStream,那么您应该能够执行以下操作

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

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

    更新

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

    这绝不是万无一失的,但可能对您有所帮助。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:
         string extension = Path.GetExtension(myFileStream.Name);
        

        【讨论】:

          猜你喜欢
          • 2013-11-20
          • 2011-03-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多