Aspose.Words .NET 文本文件处理器
NET 的 Aspose.Words 文本文件处理器 是一种轻量级 API,专注于 plain-text 场景 .txt
, 执行编程编辑(输入、删除、更换)和 **保存返回 TXT ** 与准确控制 **编码 ** 、 **BOM ** ,以及 线终端 - 适合服务、ETL 工作和 CI/CD 管道.
没有 Microsoft Office 要求. 在 Windows、Linux 和 macOS 上使用 .NET Framework、 .Net Core/5/6+ 或 Mono.
安装和设置
- 在 NuGet 中安装 Aspose.Words.
- 在初创公司申请许可证(参见 Metered Licensing ).
- 在 安装指南 中查看系统要求/).
支持的场景: 文件路径和 流(推荐为 Web / 云).
快速启动
创建 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[] ** 上传,使用 coding auto-detect 或强制编码.
- 保留或正常化线路中断(CRLF / LF / CR)在负载和 / 或储存.
- 播放非常大的文件,以保持内存稳定.
文本操纵
- 通过熟悉的 ** 文档 → 部分 → 分款 → Run** 模型进行内容.
- 在准确的位置输入、添加或删除文本 - 没有手动折扣数学.
- 执行 ** bulk find/replace** 在整个文档或分布列.
- 分割 / 混合段落由定制分配器.
节省到 TXT
- 保存到文件或 流 ** 与选择的 ** 编码 (UTF‐8 / UDF‐16 / ASCII / 等.).
- 明确控制 BOM ** 排放和 ** ParagraphBreak (EOL.
- 重写或写到您管理的目标流.
编码 & i18n
- 全套 Unicode 支持.
- 在阅读时对遗产代码页面的透明漏洞.
- 检测和保存 爆炸 除非负载过重.
第一流 APIs
- 使用
Stream
→Stream
网页服务和云功能. - 与 S3/Blob SDK 和内存管道轻松集成.
Performance
- Lean 对象模型为平板文本.
- 轻松操作,尽量减少分配.
- Thread-safe 阅读;在共享资源时同步写作.
共用食谱
Regex Find/Replace(聚集多个空间)
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) 流→流(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);
技巧与最佳实践
- 更喜欢为大文件和网页应用程序提供 流式 API.
- 始终设置编码 在加载和保存,以避免 mojibake.
- Batch 编辑在内存中; ** 保存一次** 以减少 I/O.
- 正常化 EOL 在负载上,转换为目标EOL在储蓄上.
- 使用 regex 替换 在一个通道中进行复杂的清洁.
- 在漫长的服务中,观察测量使用和礼貌地处理配额.
FAQ
**TXT 是否保留表、图像或风格?**TXT 是清晰的文本;先进的格式化是闪光的.
**我可以添加到现有文件没有过写吗?**在附件模式中打开一个 FileStream 并将保存的输出写入它.
**我如何选择终点线?**设置 TxtSaveOptions.ParagraphBreak
到 "\r\n"
(Windows)或 "\n"
(Unix 或 MacOS).
**如何禁用 UTF-8 BOM?**使用 new UTF8Encoding(false)
在 TxtSaveOptions.Encoding
.
**需要 Office 或 Notepad++ 吗?**Aspose.Words 是独立的.