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

Доступ к пути отклонил ошибку в С#

Я прочитал подобный пост, но я просто не могу понять проблему.

Я изменил разрешения Windows и изменил маршруты.

Когда я пытаюсь сохранить файл, он выдает мне исключение:

Доступ к пути **** запрещен.

string route="D:\\";
FileStream fs = new FileStream(route, FileMode.Create); <--here is the problem
        StreamWriter write = new StreamWriter(fs);
        patient person = new patient();
        patient.name = textBox1.Text;
        patient.name2 = textBox2.Text;
4b9b3361

Ответ 1

Вы пытаетесь создать объект FileStream для каталога (папки). Укажите имя файла (например, @ "D:\test.txt" ), и ошибка исчезнет.

Кстати, я бы предположил, что вы используете конструктор StreamWriter, который принимает кодировку как свой второй параметр, потому что в противном случае вы можете столкнуться с неприятным сюрпризом при попытке прочитать сохраненный файл позже (используя StreamReader).

Ответ 2

Пробовал ли вы указать имя файла?

например:

string route="D:\\somefilename.txt";

Ответ 3

tl; dr версия: убедитесь, что вы не пытаетесь открыть файл, помеченный в файловой системе, только как Чтение в режиме чтения/записи.

Я столкнулся с этой ошибкой в ​​своих путешествиях, пытаясь прочитать в XML файле. Я обнаружил, что в некоторых случаях (подробно ниже) эта ошибка будет сгенерирована для файла, даже если путь и имя файла верны.

Сведения о файле:

  • Путь и имя файла действительны, файл существует
  • У учетной записи службы и зарегистрированного пользователя есть права на полный доступ к файлу и полный путь
  • Файл отмечен как "Только для чтения"
  • Он работает в Windows Server 2008 R2
  • Путь к файлу состоял в использовании букв локального диска, а не пути UNC

При попытке прочитать файл программно, при выполнении того же кода наблюдалось следующее поведение:

  • При запуске в качестве зарегистрированного пользователя файл читается без ошибок
  • При запуске в качестве учетной записи службы попытка чтения файла генерирует ошибку Access Is Denied без каких-либо подробностей.

Чтобы исправить это, мне пришлось изменить вызов метода по умолчанию (открытие как RW), чтобы открыть файл как RO. Как только я сделал это одно изменение, он прекратил выдавать ошибку.

Ответ 4

У вас нет прав доступа к файлу. Убедитесь, что вы можете получить доступ к файлу на этом диске.

string route= @"E:\Sample.text";
FileStream fs = new FileStream(route, FileMode.Create);

Вы должны указать имя файла для создания. Попробуйте это, теперь вы можете создать.