ボタンをクリックしたときにVisual Studioのリソースからファイルを開く方法を知っていますか? ありがとう。
質問する
14071 次
2 に答える
12
GetManifestResourceStreamメソッドを使用できます。
var currentAssembly = Assembly.GetExecutingAssembly();
using (var stream = currentAssembly.GetManifestResourceStream("SomeNs.file.txt"))
using (var reader = new StreamReader(stream))
{
// TODO: read the stream here
string contents = reader.ReadToEnd();
}
この例file.txt
では、現在のアセンブリにリソースとして埋め込まれています。読み取ろうとしているリソースの名前を調整する必要があります。StreamReader
また、埋め込みリソースがテキスト ファイルでない場合は、a を使用しないでください。バイナリ ファイルの場合は、ストリームを直接読み取る必要があります。
于 2012-09-08T18:23:20.893 に答える
0
これは、ファイルがローカル ファイルの場合に使用できます
string resName = "myfile.txt";
var file = GetResourceStream(resName);
string all = "";
using (var reader = new StreamReader(file))
{
all = reader.ReadToEnd();
}
どこ
static UnmanagedMemoryStream GetResourceStream(string resName)
{
var assembly = Assembly.GetExecutingAssembly();
var strResources = assembly.GetName().Name + ".g.resources";
var rStream = assembly.GetManifestResourceStream(strResources);
var resourceReader = new System.Resources.ResourceReader(rStream);
var items = resourceReader.OfType<System.Collections.DictionaryEntry>();
var stream = items.First(x => (x.Key as string) == resName.ToLower()).Value;
return (UnmanagedMemoryStream)stream;
}
于 2012-09-08T18:27:51.827 に答える