2017-02-11 10 views
1

Я создаю txt-файл, используя C# и записывая несколько строк. Проблема в том, что строка добавляется сверху, а не в конец.Как добавить строку в конец файла с помощью File.Append в C#

Любая информация о том, как этого достичь. Это ниже код

private static void WriteReleaseSql(string sqlStatement) 
    { 
     string ReleaseoutputFilePath = ConfigurationManager.AppSettings["ReleaseOutputFilePath"]; 

     using (FileStream fs = new FileStream(ReleaseoutputFilePath, FileMode.Append, FileAccess.Write)) 
     using (StreamWriter sw = new StreamWriter(fs)) 
     { 
      sw.WriteLine(sqlStatement); 
     } 
    } 
+2

Мне этот код работает должным образом. Строка будет добавлена ​​в конце файла. – Steve

ответ

1

Вы можете использовать StreamWriter без FileStream (например, пользователя) и она отлично работает для меня

private static void WriteReleaseSql(string sqlStatement) 
{ 
    string ReleaseoutputFilePath = ConfigurationManager.AppSettings["ReleaseOutputFilePath"]; 

    using (StreamWriter sw = new StreamWriter(ReleaseoutputFilePath,True)) 
    { 
     sw.WriteLine(sqlStatement); 
    } 
} 

Примечание: код работает отлично

+1

Только без «видимого» потока. Там все еще есть. –

+0

Я согласен с этим – Hadi

-1

Использование Environment.NewLine для добавьте новую строку.

1

Когда я проверил сайт MDSN для FileMode, это определение, которое я получил.

Открывает файл, если он существует, и ищет в конце файла, или создает новый файл. Для этого требуется FileIOPermissionAccess. Добавить разрешение. FileMode.Append может использоваться только в сочетании с FileAccess.Write. Пытаясь найти позицию до конца файла , возникает исключение IOException, и любая попытка прочтения завершится с ошибкой и выбрасывает исключение NotSupportedException.

Что касается документа, он должен добавить вещи в конце. Проверьте выход снова.

Мне бы очень хотелось бы знать, как добавить вещи наверху.

Смежные вопросы