Редактирование текста с файла - C#
Формулировка задачи:
Ребята помогите такая задача:
Разработать класс, который содержит метод для роботы с текстовой информацией: считывание текста с файла Input.txt, форматирование текста и запись результата в файл Output.txt.
А вот само задание: совершить корректирование текста, удаляя символы перехода на новую строку, которые не завершают абзац. Считать, что абзац начинается с красной строки - символа табуляции.
Совершенно не пойму как это обозначить, с созданием и считывание файла проблем не возникает, а вот как корректировать текст вообще не пойму, помогите плз!
Решение задачи: «Редактирование текста с файла»
textual
Листинг программы
using System; using System.Collections.Generic; using System.IO; using System.Text; namespace CyberForum { public class Program { public static void Main(string[] args) { string sourcefile = "Input.txt"; string destfile = "Output.txt"; string delimiter = "\t"; TextCorrector.CorrectNewLines(sourcefile, destfile, delimiter); } } public class TextCorrector { public static void CorrectNewLines(string sourceFilePath, string destFilePath, string delimiter) { string prevLine = null, currLine = null; StreamReader reader = null; StreamWriter writer = null; try { reader = new StreamReader(sourceFilePath); writer = new StreamWriter(destFilePath, false); prevLine = reader.ReadLine(); if (prevLine != null && !reader.EndOfStream) { while (!reader.EndOfStream) { currLine = reader.ReadLine(); if (CheckCurrentLine(currLine, delimiter)) { writer.Write(prevLine); writer.Write(" "); prevLine = currLine.Substring(delimiter.Length); } else { writer.WriteLine(prevLine); prevLine = currLine; } } if (prevLine != null) { writer.WriteLine(prevLine); } } else { writer.WriteLine(prevLine); } } catch { throw; } finally { if (reader != null) reader.Close(); if (writer != null) { writer.Flush(); writer.Close(); } } } private static bool CheckCurrentLine(string currentLine, string delimiter) { bool result = (currentLine != null) && (currentLine.Length >= delimiter.Length); if (result) { for (int index = 0; index < delimiter.Length; ++index) { if (currentLine[index] != delimiter[index]) { result = false; break; } } } return result; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д