teledexterus Ответов: 1

Как я могу переписать существующий файл на сервере.mappath


Можно ли записать поверх существующего файла на сервере.Маппат(file.xml) использование:
using (FileStream fsAppend = new FileStream(Server.MapPath("file1.xml"), FileMode.Append, FileAccess.Write))
{
   StreamWriter sw = new StreamWriter(fsAppend);
   ???
}

Или как-то использовать файловый режим.Усечь?? затем файловый режим.Создать?

Что я уже пробовал:

Файловый режим.Append кажется мне правильным решением, если я разберусь в синтаксисе. Я даже не хочу пробовать FileMode.Обрезать вообще.

1 Ответов

Рейтинг:
2

OriginalGriff

Файловый режим.Append всегда открывает файл и, если он существует, устанавливает позицию записи в конец потока. Таким образом, он никогда не заменит существующий файл, он просто добавляет к нему.
Файловый режим.Create-это то, что вам нужно: он заменяет существующий файл, если он существует, или создает новый файл, если его нет.

Но... и это большое "но ... будьте осторожны, чтобы использовать try...catch блокировка с помощью вашего кода: веб-сайты изначально являются многопользовательскими, и стандартные операции FileIO, которые включают запись, всегда блокируют файл для эксклюзивного доступа. Если файл используется другим пользователем веб-сайта, ваш код завершится ошибкой.