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
- Installera Aspose.Words från NuGet.
- Applicera din licens på start (se Metered Licensing ).
- Översikt systemkrav i Installationsguide .
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
Stream
→Stream
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.