Не получается записать текст в файл

190
21 марта 2019, 09:40

Не получается записать в файл строку, не пойму в чем дело. StackTrace:

   в System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   в System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   в System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   в System.IO.StreamWriter.CreateFile(String path, Boolean append, Boolean checkHost)
   в System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize, Boolean checkHost)
   в System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding)
   в VKBot.Program.Main(String[] args) в C:\Development\botdita\Program.cs:строка 648

Код в этом блоке:

            using (StreamReader sr = new StreamReader(reportFile, System.Text.Encoding.Default))
            {
                text = sr.ReadToEnd();
            }
            using (StreamWriter sw = new StreamWriter(reportFile, false, System.Text.Encoding.Default))
            {
                text += String.Format("REPORT из конференции ID{0} от @id{3}({1} {2}): {4}\n", chatID, from.FirstName, from.LastName, senderID, arg);
                sw.WriteLine(text);
            }

При попытке использовать File.AppendAllText() выдает такую же ошибку:

   в System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   в System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   в System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   в System.IO.StreamWriter.CreateFile(String path, Boolean append, Boolean checkHost)
   в System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize, Boolean checkHost)
   в System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding)
   в System.IO.File.InternalAppendAllText(String path, String contents, Encoding encoding)
   в VKBot.Program.Report(String arg) в C:\Development\botdita\Program.cs:строка 635
   в VKBot.Program.Command(String Message) в C:\Development\botdita\Program.cs:строка 519
   в VKBot.Program.Watcher_NewMessages(VkApi owner, ReadOnlyCollection`1 messages) в C:\Development\botdita\Program.cs:строка 835
   в VKBot.Program.<WatchAsync>d__54.MoveNext() в C:\Development\botdita\Program.cs:строка 935
Answer 1

Спасибо Андрею за предложенный вариант. Нужно всего лишь использовать простейший метод File.AppendAllText(string filepath, string text);, при этом не нужно задумываться над тем, создан ли файл или нет, данная команда все выполнит за Вас.

READ ALSO
Задаю переменной значение 2 а компилятор выдает 49 C# в чем ошибка?

Задаю переменной значение 2 а компилятор выдает 49 C# в чем ошибка?

Всем добрый день, Учу C# и пытаюсь понять в чем ошибка

144
Сортировка в List&lt;&gt;

Сортировка в List<>

Как отсортировать элементы списка по возрастанию цены? Были попытки сделать это через оператор orderby, но в таком случае просто сортирует одни...

181
Ошибка	XDG0008	Имя &ldquo;MainVM&rdquo; не существует в пространстве имен &ldquo;clr-namespace:StepByStepServer.ViewModels&rdquo;

Ошибка XDG0008 Имя “MainVM” не существует в пространстве имен “clr-namespace:StepByStepServer.ViewModels”

Не могу понять в чем проблемаMainVM существует в StepByStepServer

169
Отслеживание подключение - отключение USB Mono C#

Отслеживание подключение - отключение USB Mono C#

Необходимо отслеживать подключение, отключение USB-COM переходника (FTDI или других)В Windows это сделать не проблема (через тот же WMI), а каким инструментом...

134