У меня есть файл на диске размером 100 МБ (может быть до 300 Мб). Есть нули и некоторые другие управляющие символы, которые не должны быть там. Сначала я прочитал строку в памяти, а затем перечитал ее Char Char, а затем удалил оскорбительные Chars и поместил чистый материал в StringBuilder, а затем сделал ToString.Слой Некоторые коды ASCII от FIle эффективно?
Это использует слишком много памяти, конечно. Мне нужно выяснить, как вырезать плохие значения ASCII на диске. Возможно (.NET 4) Memory Mapped File Stream - это правильно (я проверил это из Memory Mapped File to Read End of File? некоторое время назад)?
Все идеи оценены. Благодарю.
Вам нужно удалить и переупорядочить файл, или вы можете заменить неправильные символы пробелами, чтобы сохранить тот же длина? –
Я могу заменить неправильные символы на String.Empty, потому что они в основном являются символами Null и Tab. – Snowy
Почему вы не просто напрямую записываете выходной файл? Нет никакой причины хранить весь вывод в памяти сразу. –