web-dev-qa-db-ja.com

FileStreamを指定してファイル拡張子を決定する

FileStreamのタイプを知る方法はありますか。 FileStreamオブジェクトを受け取る関数があり、そのFileStreamに基づいてファイル拡張子を決定したいと思います。

17
Abdul Samad
 string extension = Path.GetExtension(myFileStream.Name);
23

ストリームが本当にFileStreamの場合、次のことができるはずです。

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

ただし、それが単純な古いStreamの場合は、任意のバイトストリームに対してStreamを作成できるため、通常、拡張子を取得することはできません。バッキングファイルは必要ありません。

更新

Chris コメントで指摘されているように、このディスカッションに関連する別のSO質問があります。これはbyte[]のタイプを決定するためのヒューリスティックについて議論しています。次に、probable元の署名にマップされます。

それは決して絶対確実ではありませんが、あなたに役立つかもしれません。

23
JaredPar

はい、ファイル名を使用すると、次のように.txt.を含む)が返されます。

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