Подтвердить что ты не робот

Как я могу очистить содержимое файла?

Мне нужно очищать содержимое определенного файла каждый раз, когда запускаются приложения. Как мне это сделать?

4b9b3361

Ответ 1

Вы можете использовать метод File.WriteAllText.

System.IO.File.WriteAllText(@"Path/foo.bar",string.Empty);

Ответ 2

Это то, что я сделал, чтобы очистить содержимое файла без создания нового файла, поскольку я не хотел, чтобы файл отображал новое время создания, даже когда приложение только что обновило его содержимое.

FileStream fileStream = File.Open(<path>, FileMode.Open);

/* 
 * Set the length of filestream to 0 and flush it to the physical file.
 *
 * Flushing the stream is important because this ensures that
 * the changes to the stream trickle down to the physical file.
 * 
 */
fileStream.SetLength(0);
fileStream.Close(); // This flushes the content, too.

Ответ 3

Используйте FileMode.Truncate каждый раз, когда вы создаете файл. Также поместите File.Create внутри try catch.

Ответ 4

Самый простой способ сделать это - это, возможно, удалить файл через ваше приложение и создать новый с тем же именем... даже более простым способом просто заставьте его перезаписать его новым файлом.

Ответ 5

Попробуйте использовать что-то вроде

File.Create

Создает или перезаписывает файл в указанный путь.

Ответ 6

Самый простой способ это:

File.WriteAllText(path, string.Empty)

Тем не менее, я рекомендую вам использовать FileStream потому что первое решение может вызвать UnauthorizedAccessException

using(FileStream fs = File.Open(path,FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
     lock(fs)
     {
          fs.SetLength(0);
     }
}