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.

安装和设置

支持的场景: 文件路径和 流(推荐为 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

  • 使用 StreamStream 网页服务和云功能.
  • 与 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 是独立的.

 中文