Сохранение файлов c # — без перезаписи?

#c# #file-io #save

#c# #file-io #Сохранить

Вопрос:

Я сохраняю данные в файл каждые 60 секунд, я сохраняю их каждые 60 секунд нормально, но при этом удаляются предыдущие добавленные данные. Есть ли способ, которым это добавило бы к файлу, а не перезаписало его. И без использования диалогового окна сохранения, поскольку это делается в фоновом режиме.

Любая обратная связь приветствуется

Комментарии:

1. Почему бы не записать в режиме добавления, чтобы он добавлял вместо перезаписи?

2. не могли бы вы предоставить больше информации? пример кода был бы большим подспорьем. Неожиданный вывод: используйте FileMode.Append вместо Create

Ответ №1:

Кажется, открытие файла в режиме добавления решит вашу проблему. http://msdn.microsoft.com/en-us/library/3zc0w663.aspx

Ответ №2:

Попробуйте,

 using (StreamWriter writer = new StreamWriter(@"C:somefile.txt", true))
            {
                writer.WriteLine("Hello line..");
            }
  

Ответ №3:

Укажите FileMode.Append в FileStream конструкторе.

Ответ №4:

Используйте метод File класса AppendText .

 StreamWriter sw = File.AppendText("D:\Text.txt");
sw.WriteLine("Hello");
sw.WriteLine("World");
sw.WriteLine("Test");
sw.Flush();
sw.Close();
  

Ответ №5:

Вы можете использовать StreamWriter with append as true в конструкторе.

Смотрите здесь.

Ответ №6:

ХОРОШО, поскольку я получаю ваш вопрос, у вас есть файл, и вы хотите сохранить в нем новые данные вместо его замены

Вы можете просто открыть его содержимое с помощью stream Reader. и добавить те данные, которые вы хотите вставить в файл, используя writer. не сохраняйте файл каждый раз, просто добавляйте данные в этот файл, чтобы, когда вы просто добавляете что-то к нему, это не перезаписывало этот файл.