Aspose.Words Elaboratore di file di testo per .NET

Il Aspose.Words Text File Processor per .NET è un API leggero focalizzato sulle sceneggiature diplain-text. Crea nuovi file di testo, carica esistente .txt, eseguire edizioni programmatiche (inserire, cancellare, sostituire) e salvare indietro a TXT con controllo accurato su codifica , BOM eline finish – ideale per servizi, lavori ETL e tubi CI/CD.

Funziona su Windows, Linux e macOS con .NET Framework, .Net Core/5/6+, o Mono.

Installazione e Setup

**Scenari supportati: ** percorsi di file e streams (recomandato per web/cloud).

Rapido inizio

Creare un file 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);

Caricare un TXT con codifica esplicita, aggiungere testo, salvare come 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);

Caratteristiche e funzionalità

Creazione di documenti

  • Inizia con un documento di testo bianco nella memoria.
  • Imposta la strategia di codifica **default ** e EOL al momento del risparmio.
  • È opzionale scrivere il titolo/footer commenti prima del testo corporeo.

Caricamento TXT esistente

  • Caricare da **path ** , **stream ** o **byte[] ** con codificazione auto-detetto oppure con un codifica forzato.
  • Conservare o normalizzare le interruzioni di linea (CRLF / LF / CR) su carico e / o salvataggio.
  • Stream file molto grandi per mantenere la memoria stabile.

La manipolazione del testo

  • Trascorrere il contenuto tramite il familiar Documento → Sezione → Paragrafo → Run modello.
  • Inserire, aggiungere o cancellare il testo in luoghi precisi – nessuna matematica offset manuale.
  • Performare ** bulk find/replace** in tutto il documento o le righe scoperte.
  • Dividere/mescolare paragrafi da parte di delimitatori personalizzati.

Risparmio per TXT

  • Salva il file o stream con il codice selezionato (UTF‐8/UTP‐16/ASCII/etc.).
  • Controlla esplicitamente le emissioni **BOM ** e ParagraphBreak (EOL.
  • Scrivi o scrivi a un flusso mirato che gesti.

Codificazione & i18n

  • Supporto completo Unicode.
  • Fallbacks trasparenti per le pagine del codice di eredità durante la lettura.
  • rilevare e conservare bombardamento a carico, a meno che non sia sovrappeso.

Stream-Primo APIs

  • Utilizzo StreamStream per i servizi web e le funzioni cloud.
  • Integrare facilmente con SDK S3/Blob e tubi in-memoria.

Performance

  • Modello di oggetto Lean per il testo piatto.
  • Le operazioni di rilassamento minimizzano le assegnazioni.
  • Leggere in modo sicuro; sincronizzare scrive quando condivide le risorse.

Ricette comuni

1) Regex Trova/Sostituisce (collapso di spazi multipli)

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 a 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) Normalizzare i fini della linea (CRLF → LF)

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

Tipi e migliori pratiche

  • Preferisce le API basate stream per file e applicazioni web di grandi dimensioni.
  • Inserisci sempre il codice su carico e salvo per evitare il mojibake.
  • Batch edita nella memoria; salva una volta per ridurre I/O.
  • Normalizzare EOL su carico, convertire in target Eol su risparmio.
  • Utilizzare regex sostituire per pulizia complessa in un solo pass.
  • Nei servizi a lungo termine, monitorare l’uso misurato e gestire con grazia la quota.

FAQ

**TXT conserva tabelle, immagini o stili?**No. TXT è testo piatto; il formato avanzato è flattato.

**Posso appendere a un file esistente senza sovraccrivere?**Apri un FileStream in modalità append e scrivi la uscita salvata. Assicurati di aggiungere una novità precedente se necessario.

**Come faccio a scegliere la linea finita?**Il set TxtSaveOptions.ParagraphBreak per "\r\n" (Windows o "\n" (Unicef e macOS).

**Come posso disattivare il UTF-8 BOM?**Utilizzo new UTF8Encoding(false) in TxtSaveOptions.Encoding.

**È necessario Office o Notepad?**No. Aspose.Words è standalone.

 Italiano