Лучший способ записать огромную строку в файл

В C # я читаю файл среднего размера (100 КБ ~ 1 МБ), изменяю некоторые части содержимого и, наконец, записываю в другой файл. Все содержимое текстовое. Модификация выполняется как строковые объекты, так и строковые операции. Мой текущий подход:

  1. Прочтите каждую строку из исходного файла с помощью StreamReader .
  2. Откройте StringBuilder для содержимого нового файла.
  3. Измените строковый объект и вызовите AppendLine StringBuilder (до конца файла)
  4. Откройте новый StreamWriter и запишите StringBuilder для записи stream.

Однако я обнаружил, что StremWriter.Write обрезает 32768 байт (2 ^ 16), но длина StringBuilder больше этой. Я мог бы написать простой цикл, чтобы гарантировать целую строку в файле. Но мне интересно, какой способ выполнения этой задачи в C # был бы наиболее эффективным?

Подводя итог, я: Я хочу изменить только некоторые части текстового файла и записать в другой файл. Но размер текстового файла может быть больше 32768 байт.

== Answer == Простите, что сбил вас с толку! Просто я не стал коллировать флеш . StremWriter.Write не имеет коротких (например, 2 ^ 16) ограничений.

12
задан Nullptr 17 February 2011 в 10:17
поделиться