2015-06-14 2 views
-2

У меня проблема с регулярным блокнотом.Текст в отдельной строке в блокноте

Если я открываю файл в текстовом поле, он правильно отображает текст из богатого текстового поля (с разрывом строки из текстового поля). Но в блокноте это всего лишь одна грандиозная линия, как я могу дойти до того, что при записи в файл он распознает строки в богатом текстовом поле?

Что я делаю - это открыть блокнот, содержащий блок текста и переходящий в richtextBox1.

Скопируйте текст из первого текстового поля и напишите в richTextBox2 текст из первого richtextbox и скопированного текста с разделенными гласными (copytext), а также запишите во второй файл блокнота (_Parsed.text).

string Chosen_File = "C:\\_Testfile.txt"; 
string Second_File = "C:\\_Parsed.txt"; 
string wholeText = ""; 

private void mnuOpen_Click(object sender, EventArgs e) { 

     //Add data from text file to rich text box 
     richTextBox1.LoadFile(Chosen_File, RichTextBoxStreamType.PlainText); 

     //Read lines of text in text file     
     string textLine = ""; 

     StreamReader txtReader; 
     txtReader = new StreamReader(Chosen_File); 

     do { 
      textLine = textLine + txtReader.ReadLine() + " "; 
     } 

     //Read line until there is no more characters 
     while (txtReader.Peek() != -1); 

     richTextBox1.Text = textLine; 

     txtReader.Close(); 
    } 

} 

private void Write(string file, string text) { 

    //Check to see if _Parsed File exists 

     //Write to _Parsed text file 
     using(StreamWriter objWriter = new StreamWriter(file)) { 
      objWriter.Write(text); 
      objWriter.Close(); 
    } 

} 

private void newSummaryMethod(string copyText) { 

    //Write into richTextBox2 all relevant text 
    copyText = richTextBox1.Text; 
    wholeText = richTextBox1.Text + copyText 
    Write(Second_File, wholeText); 
} 


private void btn1_Click(object sender, EventArgs e) { 

     newSummaryMethod(copyText); 
} 
+0

Пожалуйста, измените вопрос, чтобы показать, где в этом большом блоке кода проблема остается ... –

+2

Вы не используете свою переменную nl –

+0

Я отредактировал свой вопрос, подумав, что знаю, в чем проблема. – user21255

ответ

0

Прежде всего попробуйте отделить данные и презентацию.

Если у вас есть файл с линиями в нем вы можете прочитать его с File.ReadLines методом

var lines = File.ReadLines("file1.txt"); 

После того, что вы можете показать все линии на текстовом поле, консоль независимо от другой.

Когда вы добавления текста, просто обновить ваши строки коллекция

lines.AddRange(secondListOfLines); 

И сохранить обновленный файл, используя File.WriteAllLines метод:

File.WriteAllLines(lines, "file2.txt"); 
+0

Есть ли способ сделать это при использовании StreamReader и StreamWriter? Я не совсем уверен, как реализовать свое предложение в моем коде. – user21255

+0

Взгляните на примеры здесь https://msdn.microsoft.com/en-us/library/92e05ft3(v=vs.110).aspx и https://msdn.microsoft.com/en-us/library /dd383503(v=vs.110).aspx –

+0

Извините, я попытался посмотреть пример, но он не устраивает WriteAllLines. Вы знаете способ с streamWriter и streamReader? Я сделаю себе приложение, чтобы я мог научиться делать это так, как вы это делали, но в то же время, когда время заканчивается для этой последней мелочи, мне просто нужно исправить в своем коде, что у меня есть. – user21255

Смежные вопросы