Aspose.Words Textfilhanterare för .NET

Aspose.Words Text File Processor för .NET är en lätt API som fokuserar på plain-text scenarier . Skapa nya textfiler, ladda befintliga .txt, utföra programmatiska redigeringar (insätt, radera, ersätta) och spara tillbaka till TXT med exakt kontroll över kodning , BOM ochlinjeändningar – idealisk för tjänster, ETL-jobb och CI/CD-rör.

Funkar på Windows, Linux och macOS med .NET Framework, .Net Core/5/6+, eller Mono.

Installation och installation

Stödda scenarier: ** filvägar och ** strömmar (rekommenderas för web/cloud).

Snabb start

Skapa en TXT-fil (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);

Ladda en TXT med explicit kodning, bifoga text, spara som 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);

Funktioner och funktionalitet

Dokument skapas

  • Börja med ett vitt textdokument i minnet.
  • Ställ in **default kodning ** och EOL strategi när du sparar.
  • Alternativt skriv header/footer kommentarer före kroppstext.

Ladda upp befintliga TXT

  • Ladda från path , stream eller byte[] medkodning av auto-detekt eller en tvingad kodning.
  • Bevara eller normalisera linjebrott (CRLF / LF / CR) på last och / eller spara.
  • Stream mycket stora filer för att hålla minnet stabilt.

Textmanipulation

  • Gå igenom innehållet via den bekanta Dokument → Avsnitt → Paragraf → Run -modellen.
  • Ange, bifoga eller ta bort text på exakta platser – ingen manuell offset matematik.
  • Utför bulk hitta / ersätta över hela dokumentet eller spårade rader.
  • Split/Meg Paragrafer av anpassade delimitörer.

Spara till TXT

  • Spara till filen eller **stream ** med den valda kodningen (UTF‐8/UTP‐16/ASCII/etc.).
  • Kontrollera utsläppen **BOM ** och ParagraphBreak (EOL) uttryckligen.
  • Översätt eller skriv till ett målflöde som du hanterar.

Kodning & i18n

  • Fullt ** Unicode** stöd.
  • Transparent fallback för arvkodsidor när du läser.
  • Upptäcka och bevara bomber på laddning om inte överdrivna.

Stream-Första APIs

  • Användning StreamStream Webbtjänster och molnfunktioner.
  • Lätt att integrera med S3/Blob SDK och in-memory pipeliner.

Performance

  • Lean objektmodell för platt text.
  • Lämpliga operationer minimerar utdelningar.
  • Thread-safe läsning; synkronisering skriver när man delar resurser.

Vanliga recept

1) Regex hitta / ersätta (kolapsade flera utrymmen)

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 till 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) Normalisera linjeändningar (CRLF → LF)

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

Tips och bästa praxis

  • Föredrar stream-baserade APIs för stora filer och webbapplikationer.
  • Always set encoding on load & save för att undvika mojibake.
  • Batch redigeras i minnet; spara en gång för att minska I/O.
  • Normalisera EOL på laddning, konvertera till målinriktad Eol på spara.
  • Använd regex ersättning för komplexa rengöringar i ett pass.
  • I långvariga tjänster, övervaka måttlig användning och hantera kvoten med nåd.

FAQ

**Bevar TXT tabeller, bilder eller stilar?**No. TXT är platt text; avancerad formatering är flätad.

**Kan jag bifoga en befintlig fil utan att överskrida den?**Öppna en FileStream i tilläggsläge och skriv den sparade utgången till den. Se till att du lägger till en föregående nylinje om det behövs.

**Hur väljer jag slutlinjen?**Sätt TxtSaveOptions.ParagraphBreak till "\r\n" (Windows eller "\n" (Unix och MacOS).

**Hur kan jag inaktivera UTF-8 BOM?**Användning new UTF8Encoding(false) i TxtSaveOptions.Encoding.

**Är Office eller Notepad++ nödvändigt?**No. Aspose.Words är standalone.

 Svenska