Как отредактировать текстовый файл на С# с помощью StreamWriter?

У меня есть способ отредактировать слово из текстового файла и отобразить его в командной строке. Теперь я пытаюсь создать метод редактирования слова из текстового файла и записи его в новый файл. Я также хотел бы упомянуть, что я не могу использовать класс File или Regex, так как мне не разрешено использовать его для моего задания. Вот мой код для StreamReader:

public void EditorialControl(string fileName, string word, string replacement)
{            
    List<string> list = new List<string>();
    using (StreamReader reader = new StreamReader(directory + fileName))
    {
        string line;
        while ((line = reader.ReadLine()) != null)
        {                    
            line = line.Replace(word, replacement);
            list.Add(line);
            Console.WriteLine(line);
        }
        reader.Close();
    }      
}

и вот мой код для StreamWriter:

public void EditorialResponse(string fileName, string word, string replacement, string saveFileName)
{
    using (StreamWriter writer = new StreamWriter(directory + saveFileName, true))
    {
        {
            string input = directory + fileName;
            string line = input.Replace(word, replacement);
            writer.Write(line);                     
        }
        writer.Close();
    }
}

что я могу добавить, чтобы StreamWriter открывал файл, редактировал слово и записывал его в новый файл или, возможно, использовал метод StreamReader для внесения этих изменений в StreamWriter? Спасибо


person user1849989    schedule 25.11.2012    source источник


Ответы (3)


Здесь...

public void EditorialResponse(string fileName, string word, string replacement, string saveFileName)
{
    StreamReader reader = new StreamReader(directory + fileName);
    string input = reader.ReadToEnd();

    using (StreamWriter writer = new StreamWriter(directory + saveFileName, true))
    {
        {
            string output = input.Replace(word, replacement);
            writer.Write(output);                     
        }
        writer.Close();
    }
}
person Michael    schedule 17.09.2013

public IList<string> GetEditedContent(string fileName, string word, string replacement)
{            
    List<string> list = new List<string>();
    using (StreamReader reader = new StreamReader(directory + fileName))
    {
        string line;
        while ((line = reader.ReadLine()) != null)
        {                    
            line = line.Replace(word, replacement);
            list.Add(line);
            Console.WriteLine(line);
        }
        reader.Close();
    }      
    return list;
}

    // Example how write list to a file. 
 using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\Public\TestFolder\WriteLines2.txt"))
    {
        foreach (string listItem in list)
        {
            file.WriteLine(listItem);
           
        }
    }

примеры использования StreamWriter в Руководство по программированию на C#

Практическое руководство. Запись в текстовый файл (Руководство по программированию на C#)

person Frank59    schedule 25.11.2012

У вас может быть только этот простой код, и он должен отредактировать ваш «filename.txt» и добавить новый текст.

using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\TestFolder\filename.txt", true))
{
file.WriteLine("text to edit / append ...");
}
person Fernando José Cassola Marques    schedule 20.06.2017