Bộ xử lý tệp văn bản Aspose.Words cho .NET

Aspose.Words Text File Processor cho .NET là một API nhẹ nhàng tập trung vào các kịch bản văn bản rộng .txt, thực hiện chỉnh sửa lập trình (cài đặt, xóa, thay thế), và save back to TXT với kiểm soát chính xác về coding , BOM vàline endings – lý tưởng cho các dịch vụ, ETL jobs, và CI/CD pipelines.

Không yêu cầu Microsoft Office. hoạt động trên Windows, Linux, và macOS với .NET Framework, .Net Core/5/6+, hoặc Mono.

Cài đặt & Setup

**Các kịch bản được hỗ trợ: ** đường file và streams (được đề xuất cho web/cloud).

Khởi động nhanh

Tạo tệp 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);

Tải TXT với mã hóa rõ ràng, thêm văn bản, lưu như 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);

Tính năng và chức năng

Tài liệu tạo

  • Bắt đầu từ một tài liệu văn bản trắng trong bộ nhớ.
  • Thiết lập chiến lược mã hóa mặc định và EOL khi tiết kiệm.
  • Tùy chọn viết tiêu đề/phút ** bình luận** trước khi viết văn bản cơ thể.

tải TXT hiện có

  • Tải về từ **path ** , **stream ** hoặc **byte[] ** với coding auto-detect hay một mã hóa bắt buộc.
  • Bảo tồn hoặc bình thường hóa các lỗ hổng đường dây (CRLF / LF / CR) trên tải và / hoặc tiết kiệm.
  • Stream các tập tin rất lớn để giữ bộ nhớ ổn định.

Tác giả Manipulation

  • Đi qua nội dung thông qua mô hình quen thuộc Document → Section → Paragraph → Run.
  • Nhập, bổ sung, hoặc xóa văn bản ở các vị trí chính xác – không có thủ công đánh giá toán.
  • Thực hiện ** bulk tìm / thay thế** trên toàn bộ tài liệu hoặc các ranh giới phân tán.
  • Chia / pha trộn các đoạn bằng cách sử dụng tùy chỉnh.

Tiết kiệm TXT

  • Lưu vào tệp hoặc **stream ** với lựa chọn coding (UTF‐8 / UDF‐16 / ASCII / vv.).
  • Kiểm soát **BOM ** phát thải và ParagraphBreak (EOL) rõ ràng.
  • Viết lại hoặc viết lên một dòng mục tiêu mà bạn quản lý.

Mã & i18n

  • Hỗ trợ đầy đủ Unicode.
  • Phản hồi minh bạch cho các trang mã di sản khi đọc.
  • Khám phá và bảo tồn bom tải trừ khi quá tải.

Stream đầu tiên APIs

  • Sử dụng StreamStream cho các dịch vụ web và chức năng đám mây.
  • Kết hợp dễ dàng với SDK S3/Blob và ống bộ nhớ.

Performance

  • Lean đối tượng mô hình cho văn bản thẳng.
  • Các hoạt động nhẹ nhàng giảm thiểu các khoản phân bổ.
  • Thread-safe đọc; đồng bộ viết khi chia sẻ tài nguyên.

Công thức chung

1) Regex tìm / thay thế (collapse nhiều không gian)

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 đến 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);
}

3) Normalize Line Endings (CRLF → LF)

var d = new Document("crlf.txt");
var save = new Aspose.Words.Saving.TxtSaveOptions { ParagraphBreak = "\n" };
d.Save("lf.txt", save);

Tips & Thực hành tốt nhất

  • Tốt nhất là API dựa trên dòng cho các tệp lớn và các ứng dụng web.
  • Luôn đặt mã hóa trên tải & lưu để tránh mojibake.
  • Batch chỉnh sửa trong bộ nhớ; save once để giảm I/O.
  • Tiêu chuẩn hóa EOL trên tải, chuyển sang mục tiêu Eol trên tiết kiệm.
  • Sử dụng regex thay thế để làm sạch phức tạp trong một bước.
  • Trong các dịch vụ chạy dài, theo dõi sử dụng đo lường và xử lý quota một cách tốt lành.

FAQ

**TXT có bảo tồn bảng, hình ảnh hay phong cách không?**No. TXT là văn bản thẳng; định dạng tiên tiến được phẳng.

**Tôi có thể thêm vào một tệp hiện có mà không cần viết quá nhiều?**Mở một FileStream trong chế độ bổ sung và viết output được tiết kiệm cho nó. Hãy chắc chắn rằng bạn thêm một newline trước đó nếu cần thiết.

**Làm thế nào để tôi chọn dòng kết thúc?**thiết lập TxtSaveOptions.ParagraphBreak để "\r\n" (Windows hoặc "\n" (Nhạc Chuông / MacOS).

**Làm thế nào để tắt UTF-8 BOM?**Sử dụng new UTF8Encoding(false) trong TxtSaveOptions.Encoding.

**Có cần Office hay Notepad++ không?**Lời bài hát: Aspose.Words Is Standalone.

 Tiếng Việt