Как использовать один и тот же файл в одном процессе с StreamWriter-ом

Посмотрел несколько сайтов, понятного мне решения(или работающего) я не нашел. С помощью StreamWriter программа записывает поступающий текст в txt (проще говоря парсер). При вводе определенной команде в Discord, switch-блок выводит строку с некоторыми данными из txt файла. Главная проблема в том, что вылезает сообщение о том, что файл используется уже другим (System.IO) процессом. Ниже представлен отрывок кода. Файл используется один и тот же (wins.txt). Хотелось бы узнать как можно сделать так, что бы можно было избежать ексепшенов по такой причине, т.е как можно сделать так что бы можно было одновременно записывать в файл, и потом из него читать строки, не закрывая файл. Если не сложно, хотелось бы увидеть полный код, буду очень благодарен)

if (msg.Content.StartsWith("[RL]") & nickname == _nickname)
                {
                    string winmsg = msg.Content;

                    sw.WriteLine(winmsg);
                    sw.Flush(); // Dispose не подходит


switch (msg.Content)
            {
                
                
                
                
                
                case "!победы":
                    {



                        
                        
                        
                        var wincopy = @"E:\c#\HoF_Friend\Wins\wins.txt"; //
                        StreamWriter stw = new StreamWriter(wincopy);   // не важные строки кода
                        stw.WriteLine(msg.Content); //
                        stw.Close(); // если ставить тут Dispose, то SW закрывается "навсегда"
                        



                        Console.WriteLine("Данные запрошены...");
                        
                        var florence = File.ReadAllLines(wincopy).Count(x => x.Contains("Florence"));
                        var tuva = File.ReadAllLines(wincopy).Count(x => x.Contains("Тану-Тува"));
                        var loys = File.ReadAllLines(wincopy).Count(x => x.Contains("Loys"));

System.IO.IOException: "The process cannot access the file 'E:\c#\HoF_Friend\Wins\wins.txt' because it is being used by another


Ответы (0 шт):