SORU
22 Temmuz 2010, PERŞEMBE


Nasıl gömülü kaynak metin dosyası okunamıyor

Nasıl oku kullanarak gömülü bir kaynak (txt dosyası) Streamreader? (ve bir dize olarak döndürür?) Benim şu anki komut dosyası bir windows formu ve gömülü değil kullanıcı ve metin bir dosya içinde metin Bul ve değiştir sağlar texbox kullanır.

private void button1_Click(object sender, EventArgs e)
{
    StringCollection strValuesToSearch = new StringCollection();
    strValuesToSearch.Add("Apple");
    string stringToReplace;
    stringToReplace = textBox1.Text;

    StreamReader FileReader = new StreamReader(@"C:\MyFile.txt");
    string FileContents;
    FileContents = FileReader.ReadToEnd();
    FileReader.Close();
    foreach (string s in strValuesToSearch)
    {
        if (FileContents.Contains(s))
            FileContents = FileContents.Replace(s, stringToReplace);
    }
    StreamWriter FileWriter = new StreamWriter(@"MyFile.txt");
    FileWriter.Write(FileContents);
    FileWriter.Close();
}

CEVAP
22 Temmuz 2010, PERŞEMBE


Assembly.GetManifestResourceStream Method: kullanabilirsiniz

1) aşağıdakileri kullanarak Ekleyin

using System.Reflection;

2) ilgili dosya Kümesi özelliği: Parametre değeri Gömülü Kaynak ile Yapı Eylemi

3) Aşağıdaki kodu Kullanın

var assembly = Assembly.GetExecutingAssembly();
var resourceName = "MyCompany.MyProduct.MyFile.txt";

using (Stream stream = assembly.GetManifestResourceStream(resourceName))
using (StreamReader reader = new StreamReader(stream))
{
    string result = reader.ReadToEnd();
}

resourceName kaynaklar assemblygömülü bir adıdır. Eğer varsayılan ad "MyCompany.MyProduct" ile bir proje köküne yerleştirilen bir metin dosyası "MyFile.txt" adlı gömerseniz örneğin, resourceName "MyCompany.MyProduct.MyFile.txt". Derleme Assembly.GetManifestResourceNames Method kullanarak tüm kaynakların bir listesini alabilirsiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ayite Atiwoto (superjiffrey)

    Ayite Atiwot

    29 EYLÜL 2010
  • BumbleDroid

    BumbleDroid

    18 EKİM 2010
  • Tom Megalis

    Tom Megalis

    18 NİSAN 2006