Перезапись hidden файла в C:\Program Files - C#

Узнай цену своей работы

Формулировка задачи:

Всем доброго времени суток! Разрабатываю программу, которая будет хранить настройки в отдельном файле, (делаю его скрытым и системным дабы у юзверя не возникло желания удалить его), этот файл должен будет перезаписываться из программы. Код (это модель, но делает тоже самое):
using System;
using System.IO;
 
namespace FilePerm
{
    class Program
    {
        static void Main(string[] args)
        {
            string path = @"C:\Program Files\file.txt";
 
            FileInfo file = new FileInfo(path);
 
            //создание файла впервые
 
            using (StreamWriter sW = new StreamWriter(path))
            {
                sW.WriteLine("привет");
            }
 
            file.Attributes = FileAttributes.Hidden | FileAttributes.System;
 
            //перезапись созданного файла
 
            using (StreamWriter sW = new StreamWriter(path))
            {
                sW.WriteLine("пока");
            }
        }
    }
}
Проблема в следующем: при попытке перезаписать возникает System.UnauthorizedAccessException и я с ним не могу справиться. Пробовал применять атрибуты и т.д., но видимо что-то делаю не правильно. Огромная просьба: напишите пожалуйста код котрый сможет это реализовать! Заранее благодарю!

Решение задачи: «Перезапись hidden файла в C:\Program Files»

textual
Листинг программы
//перезапись созданного файла
 
using (StreamWriter sW = new StreamWriter(File.OpenWrite(path)))
{
    sW.BaseStream.SetLength(0);
    sW.WriteLine("пока");
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы