Aspose.Words Текстовый Файловый Процессор для .NET
Aspose.Words Text File Processor для .NET является легким API, ориентированным на плаин-текстовые сценарии .txt
, выполнение программатических редакторов (включение, удаление, замена) и сбережение обратно в TXT с точным контролем над кодирование , BOM илинейные окончания – идеально подходит для услуг, ETL рабочих мест и CI/CD трубопроводов.
Работает на Windows, Linux и macOS с .NET Framework, .Net Core/5/6+, или Mono.
Инсталляция и установка
- Установите Aspose.Words из NuGet.
- Заявите свою лицензию на стартап (см. Метризованная лицензия ).
- Оценка системных требований в Инсталляционный водитель .
Поддерживаемые сценарии: ** файловые пути и ** потоки (рекомендуется для веб/облака).
Быстрый старт
Создание файла TXT (UTF‐8, CRLF)
using Aspose.Words;
using Aspose.Words.Saving;
using System.Text;
var doc = new Document();
var builder = new DocumentBuilder(doc);
builder.Writeln("Paragraph 1.");
builder.Writeln("Paragraph 2.");
var txt = new TxtSaveOptions
{
Encoding = new UTF8Encoding(encoderShouldEmitUTF8Identifier: true), // with BOM
ParagraphBreak = "\r\n" // Windows EOL
};
doc.Save("Output.txt", txt);
Загрузить TXT с явным кодированием, дополнить текст, сохранить как LF
using Aspose.Words;
using Aspose.Words.Loading;
using Aspose.Words.Saving;
using System.Text;
var load = new TxtLoadOptions { Encoding = Encoding.UTF8 };
var doc = new Document("Input.txt", load);
var builder = new DocumentBuilder(doc);
builder.MoveToDocumentEnd();
builder.Writeln("");
builder.Writeln("Appended by Aspose.Words.");
var txt = new TxtSaveOptions
{
Encoding = new UTF8Encoding(encoderShouldEmitUTF8Identifier: false), // UTF‑8 no BOM
ParagraphBreak = "\n" // Unix EOL
};
doc.Save("Updated.txt", txt);
Особенности и функциональность
Создание документа
- Начните с белого текстового документа в памяти.
- Настройка **дефальтового кодирования ** и EOL стратегии при сохранении.
- Опционально напишите заголовок/план ** комментарии** перед текстом тела.
Загрузка существующего TXT
- Загрузите из path , stream или byte[] скодирующим авто-детектом или принудительным кодированием.
- Сохранение или нормализация линейных перерывов (CRLF / ЛФ / CR) на загрузке и / или сбережении.
- Поток очень больших файлов для сохранения стабильной памяти.
Текстовая манипуляция
- Перейти через контент через знакомый Документ → Раздел → Параграф → Run -модель.
- Введите, добавьте или удалите текст в точных местах — без ручной математики.
- Выполняйте ** bulk find/replace** по всему документу или сканированным диапазонам.
- Разделить / смешивать параграфы с помощью персонализированных делимтеров.
Сэкономить на TXT
- Сохранить в файл или **stream ** с выбранным кодированием (UTF‐8 / UTF-16 / ASCII / и т.д.).
- Контролировать **BOM ** выбросы и ParagraphBreak (EOL) четко.
- Переписать или написать к целевому потоку, который вы управляете.
Кодирование & i18n
- Полная поддержка Unicode.
- Прозрачные паузы для страниц наследственного кода при чтении.
- обнаружить и сохранить бомбы на груз, если не перегружены.
Поток первых APIs
- Использование
Stream
→Stream
Для веб-сервисов и облачных функций. - Легко интегрировать с SDK S3/Blob и в память трубопроводов.
Performance
- Модель объекта Lean для плоского текста.
- Легкие операции минимизируют выделения.
- Thread-safe reading; синхронизация пишет при распределении ресурсов.
Общие рецепты
Регекс Найти / Заменить (колапс нескольких пространств)
using System.Text.RegularExpressions;
using Aspose.Words;
using Aspose.Words.Replacing;
var doc = new Document("input.txt");
var opts = new FindReplaceOptions { MatchCase = false };
doc.Range.Replace(new Regex(@"\s{2,}"), " ", opts);
doc.Save("cleaned.txt");
2) Stream→Stream (Windows‐1252 до UTF‐8 LF)
using (var input = File.OpenRead("legacy.txt"))
using (var output = File.Create("normalized.txt"))
{
var load = new Aspose.Words.Loading.TxtLoadOptions
{
Encoding = Encoding.GetEncoding(1252)
};
var doc = new Document(input, load);
var save = new Aspose.Words.Saving.TxtSaveOptions
{
Encoding = new UTF8Encoding(false), // no BOM
ParagraphBreak = "\n"
};
doc.Save(output, save);
}
Нормализация линейных окончаний (CRLF → LF)
var d = new Document("crlf.txt");
var save = new Aspose.Words.Saving.TxtSaveOptions { ParagraphBreak = "\n" };
d.Save("lf.txt", save);
Советы и лучшие практики
- Предпочтитель stream-based APIs для больших файлов и веб-приложений.
- Всегда настроить кодирование на загрузку и сохранение, чтобы избежать мохибака.
- Бач редактирует в памяти; сберегайте один раз для снижения I/O.
- Нормализуйте EOL на загрузке, конвертируйте в целевую Eol на сбережение.
- Используйте regex замените для комплексной очистки в одном проходе.
- В долгосрочных услугах следит за умеренным использованием и добросовестно справляется с квотами.
FAQ
**Сохраняет ли TXT таблицы, изображения или стили?**No. TXT — это плоский текст; передовой формат флатентирован.
**Могу ли я присоединиться к существующему файлу без переписи?**Откройте FileStream в режиме дополнения и напишите в нем сохранившийся выход. Пожалуйста, добавьте предыдущую новость, если это необходимо.
**Как я могу выбрать конец линии?**Сет TxtSaveOptions.ParagraphBreak
Для "\r\n"
(Windows или "\n"
(УНИКС и МАКОС).
**Как я отключу UTF-8 BOM?**Использование new UTF8Encoding(false)
В TxtSaveOptions.Encoding
.
**Нужен ли Office или Notepad?**No. Aspose.Words является самостоятельным.