テキスト ファイルへのファイル パスである文字列パラメーターを受け取るメソッドがあります。アセンブリにリソースとして埋め込んだテキスト ファイルを渡すことができるようにしたいと考えています。
StreamReader を開くためのファイル パスとして機能するように、埋め込まれたテキスト ファイルへの文字列参照を取得する方法はありますか?
ありがとう。
を使用Assembly.GetManifestResourceStream(resource_name_of_the_file)
してファイルのストリームにアクセスし、それを TEMP ディレクトリに書き込み、このパスを使用できます。
たとえば、プロジェクトのパス " Resources\Files\File.txt " にファイルがあり、プロジェクトのアセンブリの既定の名前空間が " RootNamespace " の場合、このアセンブリのコード内からファイルのストリームにアクセスできます。
Assembly.GetExecutingAssembly().GetManifestResourceStream("RootNamespace.Resources.Files.File.txt")
StreamReader を開くためのファイル パスとして機能するように、埋め込まれたテキスト ファイルへの文字列参照を取得する方法はありますか?
いいえ、埋め込みリソースは個別のファイルではなく、実行可能ファイルに埋め込まれています。ただし、 を使用して読み取ることができるストリームを取得できますStreamReader
。
var name = "...";
using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(name))
using (var streamReader = new StreamReader(stream)) {
// Read the embedded file ...
}