24

リソースからファイルを読み取り、リストに追加する必要があります。私のコード:

private void Form1_Load(object sender, EventArgs e)
{
    using (StreamReader r = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream("myProg.myText.txt")))
    {
        //The Only Options Here Are BaseStream & CurrentEncoding
    }
}

私はこれを検索しましたが、次のような回答しか得られませんでし"Assembly.GetExecutingAssembly...."たが、私のプログラムにはアセンブリのオプションがありません。

4

4 に答える 4

3

これをフォローするには、AppDeveloper ソリューションが最適です。

string resource_data = Properties.Resources.test;
string [] words = resource_data.Split(new[] {Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries);
foreach(string lines in words){
.....
}
于 2013-09-10T13:16:09.860 に答える
1
        [TestCategory("THISISATEST")] 
        public void TestResourcesReacheability() 
        { 
            byte[] x = NAMESPACE.Properties.Resources.ExcelTestFile; 
            string fileTempLocation = Path.GetTempPath() + "temp.xls"; 
            System.IO.File.WriteAllBytes(fileTempLocation, x);   

            File.Copy(fileTempLocation, "D:\\new.xls"); 
        }

リソース ファイルをバイト配列として取得するため、WriteAllBytes を使用して新しいファイルを作成できます。ファイルをどこに書き込むことができるかわからない場合 (権限とアクセスの原因)、Path.GetTempPath() を使用して、PC 一時フォルダーを使用して新しいファイルを書き込み、そこからコピーまたは作業することができます。

于 2014-09-09T16:01:28.620 に答える