7

テキスト ファイルへのファイル パスである文字列パラメーターを受け取るメソッドがあります。アセンブリにリソースとして埋め込んだテキスト ファイルを渡すことができるようにしたいと考えています。

StreamReader を開くためのファイル パスとして機能するように、埋め込まれたテキスト ファイルへの文字列参照を取得する方法はありますか?

ありがとう。

4

3 に答える 3

8

を使用Assembly.GetManifestResourceStream(resource_name_of_the_file)してファイルのストリームにアクセスし、それを TEMP ディレクトリに書き込み、このパスを使用できます。

たとえば、プロジェクトのパス " Resources\Files\File.txt " にファイルがあり、プロジェクトのアセンブリの既定の名前空間が " RootNamespace " の場合、このアセンブリのコード内からファイルのストリームにアクセスできます。

Assembly.GetExecutingAssembly().GetManifestResourceStream("RootNamespace.Resources.Files.File.txt")
于 2012-08-09T22:32:24.513 に答える
6

StreamReader を開くためのファイル パスとして機能するように、埋め込まれたテキスト ファイルへの文字列参照を取得する方法はありますか?

いいえ、埋め込みリソースは個別のファイルではなく、実行可能ファイルに埋め込まれています。ただし、 を使用して読み取ることができるストリームを取得できますStreamReader

var name = "...";
using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(name)) 
  using (var streamReader = new StreamReader(stream)) {
    // Read the embedded file ...
  }
于 2012-08-09T22:32:02.503 に答える