#c# #exception #streamwriter
#c# #исключение #StreamWriter
Вопрос:
Я использую следующий код для записи файла на рабочий стол.
string submittedFilePath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
int i = 0;
StreamWriter sw = null;
sw = new StreamWriter(submittedFilePath, false);
for (i = 0; i < PSOLib.table.Columns.Count - 1; i )
{
sw.Write(PSOLib.table.Columns[i].ColumnName ";");
}
sw.Write(PSOLib.table.Columns[i].ColumnName);
sw.WriteLine();
foreach (DataRow row in PSOLib.table.Rows)
{
object[] array = row.ItemArray;
for (i = 0; i < array.Length - 1; i )
{
sw.Write(array[i].ToString() ";");
}
sw.Write(array[i].ToString());
sw.WriteLine();
}
sw.Close();
Однако всякий раз, когда я пытаюсь вызвать метод, я получаю:
Access to the path 'C:\Users\User\Desktop' is denied.
System.UnauthorizedAccessException.
Комментарии:
1. Я проверил привилегии. Они, как и ожидалось.
2. Здесь вы записываете в папку, в то время как вы должны записывать в файл..
Ответ №1:
Вы указали не файл для вашего StreamWriter
, а папку.
Это должно сделать это:
string submittedFilePath =
Environment.GetFolderPath(Environment.SpecialFolder.Desktop) "\myFile.txt.";
Комментарии:
1. Понял. Глупый я! Спасибо.
2. Большое вам спасибо за это. Я изо всех сил пытался понять, почему это не работает. Я не могу проголосовать за это достаточно! даже спустя годы вы все еще помогаете 🙂