Pemroses File Teks Aspose.Words untuk .NET

Aspose.Words Text File Processor untuk .NET adalah API ringan yang berfokus pada skenario teks yang luas .txt, melakukan pengeditan programmatik (memasukkan, menghapus, menggantikan), dan menyelamatkan kembali ke TXT dengan kontrol yang tepat atas encoding , BOM danline endings – ideal untuk layanan, pekerjaan ETL, dan CI/CD pipa.

Tidak diperlukan Microsoft Office. bekerja pada Windows, Linux, dan macOS dengan .NET Framework, .Net Core/5/6+, atau Mono.

Instalasi dan Setup

**Skenario yang disokong: ** jalur file dan streams (disarankan untuk web/cloud).

Mulai Cepat

Membuat file TXT (UTF-8 dan 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);

Muat naik TXT dengan kode eksplisit, tambahkan teks, simpan sebagai 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);

Fitur dan Fungsi

Penciptaan Dokumen

  • Mulai dari dokumen teks putih dalam memori.
  • Menetapkan **default encoding ** dan EOL strategi saat menyimpan.
  • Opsi menulis header/footer komentar sebelum teks tubuh.

Mengisi TXT yang ada

  • Muat turun dari path , stream atau byte[] dengancoding auto-detect atau coding paksa.
  • Menjaga atau Normalisasi garis brek (CRLF / LF / CR) pada beban dan / atau penyimpanan.
  • Stream file yang sangat besar untuk menjaga memori stabil.

Manipulasi teks

  • Melintasi konten melalui model yang biasa Dokumen → Seksyen → Paragraf → Run.
  • Masukkan, tambahkan, atau menghapus teks di lokasi yang tepat—tidak ada matematika offset manual.
  • Melakukan ** bulk find/replace** di seluruh dokumen atau rangkaian yang tertutup.
  • Membahagikan/menggabungkan paragraf dengan delimiters tersuai.

Menyelamatkan TXT

  • Simpan ke file atau **stream ** dengan pilihan coding (UTF‐8/UTP‐16/ASCII/etc.).
  • Mengontrol emisi **BOM ** dan ParagraphBreak (EOL) secara eksplisit.
  • Tulis ulang atau tulis ke aliran sasaran yang Anda jalani.

Kode dan i18n

  • Dukungan lengkap Unicode.
  • Penurunan transparan untuk halaman kode warisan saat membaca.
  • Mendeteksi dan menyimpan Bom di atas beban kecuali berlebihan.

Stream-Pertama API

  • Penggunaan StreamStream Untuk layanan web dan fungsi cloud.
  • Mudah diintegrasikan dengan SDK S3/Blob dan pipa in-memory.

Performance

  • Model objek Lean untuk teks rata.
  • Operasi ringan meminimalisir peruntukan.
  • Thread-safe reading; Sinkronisasi menulis ketika berbagi sumber daya.

Resep Umum

1) Regex mencari/mengganti (collapse multiple spaces)

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 hingga 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) Normalisasi akhir garis (CRLF → LF)

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

Tips & Praktik Terbaik

  • Lebih baik stream-based APIs untuk file besar dan aplikasi web.
  • Selalu tetapkan kode pada load & save untuk menghindari mojibake.
  • Batch edits dalam memori; save once untuk mengurangi I/O.
  • Normalisasi EOL pada beban, konversi ke target Eol pada simpanan.
  • Gunakan regex mengganti untuk pembersihan kompleks dalam satu pass.
  • Dalam layanan jangka panjang, memantau penggunaan yang diukur dan mengendalikan kuota dengan baik.

FAQ

**Apakah TXT menyimpan tabel, gambar, atau gaya?**No. TXT adalah teks yang rata; format lanjutan dilapisi.

**Bolehkah saya melampirkan ke file yang ada tanpa menulis berlebihan?**Buka FileStream dalam mode lampiran dan tulis output yang disimpan ke dalamnya. pastikan Anda menambahkan newline sebelumnya jika perlu.

**Bagaimana saya memilih garis akhir?**Set yang TxtSaveOptions.ParagraphBreak Untuk "\r\n" (Windows atau "\n" (Untuk MacOS dan Unix).

**Bagaimana saya mematikan UTF-8 BOM?**Penggunaan new UTF8Encoding(false) dalam TxtSaveOptions.Encoding.

**Apakah Office atau Notepad ++ diperlukan?**No. Aspose.Words adalah standalone.

 Indonesia