Редактирование текста с файла - 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;
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы