FileStream
のタイプを知る方法はありますか。 FileStream
オブジェクトを受け取る関数があり、そのFileStream
に基づいてファイル拡張子を決定したいと思います。
string extension = Path.GetExtension(myFileStream.Name);
ストリームが本当にFileStream
の場合、次のことができるはずです。
var ext = Path.GetExtension(fileStream.Name);
ただし、それが単純な古いStream
の場合は、任意のバイトストリームに対してStream
を作成できるため、通常、拡張子を取得することはできません。バッキングファイルは必要ありません。
更新
Chris コメントで指摘されているように、このディスカッションに関連する別のSO質問があります。これはbyte[]
のタイプを決定するためのヒューリスティックについて議論しています。次に、probable元の署名にマップされます。
それは決して絶対確実ではありませんが、あなたに役立つかもしれません。
はい、ファイル名を使用すると、次のように.txt
(.
を含む)が返されます。
var path = myFileStream.Name;
return Path.GetExtension(path);