В C # я читаю файл среднего размера (100 КБ ~ 1 МБ), изменяю некоторые части содержимого и, наконец, записываю в другой файл. Все содержимое текстовое. Модификация выполняется как строковые объекты, так и строковые операции. Мой текущий подход:
StreamReader
. StringBuilder
для содержимого нового файла. AppendLine
StringBuilder
(до конца файла) StreamWriter
и запишите StringBuilder
для записи stream. Однако я обнаружил, что StremWriter.Write
обрезает 32768 байт (2 ^ 16), но длина StringBuilder
больше этой. Я мог бы написать простой цикл, чтобы гарантировать целую строку в файле. Но мне интересно, какой способ выполнения этой задачи в C # был бы наиболее эффективным?
Подводя итог, я: Я хочу изменить только некоторые части текстового файла и записать в другой файл. Но размер текстового файла может быть больше 32768 байт.
== Answer == Простите, что сбил вас с толку! Просто я не стал коллировать флеш
. StremWriter.Write
не имеет коротких (например, 2 ^ 16) ограничений.