Pemproses fail teks Aspose.Words untuk .NET
Aspose.Words Text File Processor untuk .NET adalah API ringan yang memberi tumpuan kepada scenario teks rata .txt
, menjalankan pengeditan programmatik (menyertakan, memadamkan, menggantikan), dan save back kepada TXT dengan kawalan yang tepat atas coding, BOM dan line endings-ideal untuk perkhidmatan, pekerjaan ETL, dan CI/CD paip.
Tidak memerlukan Microsoft Office. berfungsi pada Windows, Linux, dan macOS dengan .NET Framework, .Net Core/5/6+, atau Mono.
Pemasangan dan Setup
- Instal Aspose.Words daripada NuGet.
- Permohonan lesen anda di startup (lihat Metered Licensing ).
- Syarat-syarat sistem ulasan dalam Panduan Pemasangan .
Skenario yang disokong: laluan fail dan streams (disyorkan untuk web/cloud).
Permulaan Cepat
Mencipta fail 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 pengekodan eksplisit, melampirkan 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);
Ciri-ciri dan fungsi
Penciptaan dokumen
- Mulakan dengan dokumen teks putih dalam memori.
- Setkan kod lalai dan EOL strategi apabila anda menjimatkan.
- Secara opsional tulis tajuk / kaki ** komen** sebelum teks badan.
Mengisi TXT yang sedia ada
- Muat turun daripada path, stream atau byte[] dengan coding auto-detect atau pengekodan paksa.
- Mengekalkan atau menormalkan pecahan garis (CRLF / LF / CR) pada beban dan / atau penyimpanan.
- Mengalirkan fail yang sangat besar untuk mengekalkan memori yang stabil.
Manipulasi teks
- Melalui kandungan melalui model yang biasa Dokumen → Bahagian → Paragraf → Run.
- Masukkan, melampirkan, atau memadamkan teks di lokasi yang tepat—tidak ada matriks offset manual.
- Menjalankan bulk mencari/menggantikan di seluruh dokumen atau rangkaian tertutup.
- Membahagikan/menggabungkan perenggan oleh delimiters tersuai.
Menjimatkan kepada TXT
- Simpan ke fail atau stream dengan pilihan coding (UTF‐8/UTP‐16/ASCII/etc.).
- Mengawal pelepasan BOM dan ParagraphBreak (EOL) secara eksplisit.
- Menulis semula atau menulis kepada aliran sasaran yang anda pentadbiran.
Pengenalan & i18n
- Sokongan penuh Unicode.
- Failback yang telus untuk halaman kod warisan semasa membaca.
- Mengesan dan menyimpan Bom di atas beban kecuali berlebihan.
Stream-Pertama API
- Use
Stream
→Stream
untuk perkhidmatan web dan fungsi awan. - Mudah disepadukan dengan SDK S3/Blob dan paip dalam memori.
Performance
- Model objek Lean untuk teks rata.
- Operasi mudah meminimumkan peruntukan.
- Thread-safe bacaan; menyegerakkan menulis apabila berkongsi sumber.
Resep yang biasa
1) Regex Cari / Tukar (collapse pelbagai ruang)
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 kepada 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 & Amalan Terbaik
- Lebih suka API berasaskan aliran untuk fail besar dan aplikasi web.
- Selalu tetapkan pengekodan pada beban & simpan untuk mengelakkan mojibake.
- Batch mengedit dalam memori; save once untuk mengurangkan I/O.
- Menormalkan EOL pada beban, menukar kepada sasaran Eol pada simpanan.
- Gunakan regex mengganti untuk pembersihan yang kompleks dalam satu laluan.
- Dalam perkhidmatan jangka panjang, memantau penggunaan yang diukur & mengendalikan kuota dengan baik.
FAQ
**Adakah TXT menyimpan jadual, imej, atau gaya?**No. TXT ialah teks yang rata; pemformatan lanjutan dilapisi.
**Bolehkah saya melampirkan ke fail yang sedia ada tanpa menulis berlebihan?**Buka FileStream dalam mod lampiran dan tulis output yang disimpan ke dalamnya. pastikan anda menambah baris baru yang terdahulu jika perlu.
**Bagaimana saya boleh memilih garis akhir?**Set TxtSaveOptions.ParagraphBreak
kepada "\r\n"
(Windows atau "\n"
(Bahasa Melayu dan MacOS).
**Bagaimana saya boleh mematikan UTF-8 BOM?**Use new UTF8Encoding(false)
dalam TxtSaveOptions.Encoding
.
**Adakah Office atau Notepad++ diperlukan?**No. Aspose.Words ialah kata yang berbeza.