Как перезаписать файл, если он уже существует?

Я делаю текстовый редактор, используя fastColoredTextbox. У меня есть кнопка, которая позволяет вам сохранить текст на вашем компьютере. Проблема в том, что он выдает исключение, когда пользователь пытается сохранить файл как уже существующий файл, вместо того, чтобы перезаписывать файл.

Это мой код.

SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "txt|*.txt|All files|*.*";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
    using (Stream s = File.Open(saveFileDialog1.FileName, FileMode.CreateNew))
    using (StreamWriter sw = new StreamWriter(s))
    {
        sw.Write(fastColoredTextBox1.Text);
    }
}

Как мне заставить его перезаписать файл, если он уже существует?

просто используйте File.WriteAllText, если файл не существует, будет создан, если существует, будет перезаписан

spzvtbg 23.04.2022 13:29

Это то, о чем вы просили, вместо этого используйте FileMode.Create.

Hans Passant 23.04.2022 13:29

Как насчет FileMode.Truncate или FileMode.OpenOrCreate?

Oliver 23.04.2022 14:33
3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
0
3
53
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Возможно, это могло бы помочь вам:

sw = new StreamWriter(path, true);
sw.WriteLine(line);

https://docs.microsoft.com/es-es/dotnet/api/system.io.streamwriter.-ctor?view=net-6.0#system-io-streamwriter-ctor (system-string-system-boolean)

Ответ принят как подходящий

Я немного изменил свой код и в итоге остановился на этом, что каким-то образом заставило его работать.

SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "txt|*.txt|All files|*.*";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
    Stream s = saveFileDialog1.OpenFile();
    StreamWriter sw = new StreamWriter(s);
    sw.Write(fastColoredTextBox1.Text);
    sw.Close();
}

Другие вопросы по теме