从资源中读取文本文件

问题描述:

我正在尝试以下代码来分割文本文件中的单词。从资源中读取文本文件

该文件是这样写的:

,代码如下:

 string resource_data = Properties.Resources.textfile; 
     string[] result = resource_data.Split('"'); 
     foreach (string lines in result) 
     { 
      if(comboBox1.Text == result[0]) 
      { 
       richTextBox2.Text = result[2]; 
      } 
     } 

采取&从C++程序我正在与同一txt文件的工作完美编辑。

   String^ resource_data = "textfile.txt"; 
      try 
      { 
       StreamReader^ DataIn = File::OpenText(resource_data); 
       String^ DataStr; 
       int count = 0; 
       array<String^>^ result; 
       array<Char>^ separ = gcnew array<Char>{'"'}; 

       while((DataStr = DataIn->ReadLine()) != nullptr) 
       { 
        count++; 
        result = DataStr->Split(separ); 
        if(comboBox1->Text == result[0]) // result[0] = Name 
        { 

的代码做什么.. 阅读每一条线,因为它自己。 在每行结果[0]中给出第一个单词,因为每行上的第二个单词是结果[1]等。 当我在组合框中选择一个单词时,检查它是否与文本文件中的单词相同,并且使用该行在结果[x]中。 但在C#中,它给出了所有单词自己的结果[x],行不重要。

我如何使C++中的以下代码在C#中工作,但在resources.resx中有文本文件?

我想我明白了问题所在。您首先需要将字符串resource_data分成不同的行。

string[] lines = resource_data.Split(new string[1] { Environment.NewLine }, StringSplitOptions.None); 
foreach (var line in lines) 
{ 
    string[] parts = line.Split('"'); 
    if (comboBox1.Text == result[0]) 
    { 
     richTextBox2.Text = result[2]; 
    } 
} 

你也可以做到这一点使用一个StringReader:

using (StringReader reader = new StringReader(resource_data)) 
{ 
    while (reader.Peek() >= 0) 
    { 
     string[] parts = reader.ReadLine().Split('"'); 
     if (comboBox1.Text == result[0]) 
     { 
      richTextBox2.Text = result[2]; 
     } 
    } 
} 

此外,如果你只保存到文件的路径,你可以通过分裂resource_data在新行字符(县)这样做在资源中,您可以打开文件并从中读取:

using (StreamReader reader = File.OpenText(resource_path)) // path to file 
{ 
    while (reader.Peek() >= 0) 
    { 
     string[] parts = reader.ReadLine().Split('"'); 
     if (comboBox1.Text == result[0]) 
     { 
      richTextBox2.Text = result[2]; 
     } 
    } 
} 
+0

非常感谢您的回答。第一个工作完美。第二个一直给出null,第三个给出错误:路径中的非法字符。再次感谢您的帮助:) – Xakzi 2014-10-08 19:41:30

+0

第三个是如果您只存储文件的路径而不是文件的内容,但无论如何乐意提供帮助! – 2014-10-08 19:44:59