1

ボタンをクリックしたときにVisual Studioのリソースからファイルを開く方法を知っていますか? ありがとう。

4

2 に答える 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 に答える