Procesor plików tekstowych Aspose.Words dla .NET
Aspose.Words Text File Processor dla .NET to lekka API skoncentrowana na scenariuszach plików tekstowych .txt
, Wykonaj edycje programowe (wstawić, usunąć, zastąpić) i **zostawić z powrotem do TXT ** z precyzyjną kontrolą nad **kodowanie ** , **BOM ** oraz line endings - idealnie nadaje się do usług, prac ETL i rurociągów CI/CD.
Pracuje w systemie Windows, Linux i macOS z .NET Framework, .Net Core/5/6+, lub Mono.
Instalacja i ustawienie
- Instalacja Aspose.Words z NuGet.
- Aplikuj swoją licencję na starcie (patrz Metered Licensing ).
- Przegląd wymogów systemu w Wytyczne instalacji .
Scenariusz obsługiwany: ** ścieżki plików i ** strumienia (rekomendowane dla sieci Web / chmury).
Szybki start
Tworzenie pliku 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);
Pobierz TXT z wyraźnym kodowaniem, dodać tekst, zapisać jako 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);
Charakterystyka i funkcjonalność
Tworzenie dokumentu
- Zacznij od białego dokumentu tekstowego w pamięci.
- Ustaw strategii **kodowania podanego ** i EOL podczas oszczędzania.
- Opcjonalnie napisz tytuł / stopień ** komentarze** przed tekstem ciała.
Pobieranie istniejącego TXT
- Pobierz z path , stream lub byte[] za pomocąkodowania auto-detekcji lub przymusowego kodowania.
- Utrzymanie lub normalizacja przerw linii (CRLF / LF / CR) na obciążeniu i / lub oszczędzaniu.
- Przepływ bardzo dużych plików, aby utrzymać pamięć stabilną.
Manipulacja tekstów
- Przejdź do treści za pośrednictwem znajomego modelu Dokument → Sekcja → Paragraf → Run.
- Wprowadź, dodać lub usunąć tekst w dokładnych lokalizacjach – bez ręcznej matematyki.
- Wykonaj bulk znaleźć/zastąpić w całym dokumencie lub rozdrobnionych rzędach.
- Rozdzielenie / mieszanie ustępów przez przyzwyczajone rozmiary.
Oszczędzaj na TXT
- Zapisz do pliku lub **stream ** za pomocą wybranego kodowania (UTF‐8 / UDF‐16 / ASCII / itp.).
- Kontrola emisji **BOM ** i ParagraphBreak (EOL) wyraźnie.
- Przepisywanie lub pisanie do strumienia docelowego, który zarządzasz.
Kodowanie & i18n
- Wsparcie pełne Unicode.
- Przejrzałe fałszywe strony kodu dziedzictwa podczas czytania.
- Zidentyfikuj i przechowuj Bomba w warunkach, chyba że są przesadzone.
Stream-Pierwszy APIs
- Używanie
Stream
→Stream
dla usług internetowych i funkcji chmury. - Łatwo zintegrować z SDK S3/Blob i rurociągami w pamięci.
Performance
- Model obiektów Lean dla płaskiego tekstu.
- Łatwa operacja minimalizuje przydziały.
- Bezpieczne czytanie; synchronizacja pisze podczas dzielenia się zasobami.
Wspólne przepisy
1) Regex Znajdź / Zastąpić (kolaps wielu przestrzeni)
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 do 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) Normalizacja końców linii (CRLF → LF)
var d = new Document("crlf.txt");
var save = new Aspose.Words.Saving.TxtSaveOptions { ParagraphBreak = "\n" };
d.Save("lf.txt", save);
Porady i najlepsze praktyki
- Preferuje API oparte na strumieniu dla dużych plików i aplikacji internetowych.
- Zawsze ustaw kodowanie na ładowanie i przechowywanie, aby uniknąć mojibake.
- Zestaw edycji w pamięci; zaoszcz raz , aby zmniejszyć I/O.
- Normalizuj EOL na obciążeniu, konwertuj do celowego Eol na oszczędności.
- Użyj regex zastąpić do złożonych sprzątania w jednym pasie.
- W długotrwałych usługach monitoruj mierzoną obsługę i traktuj kwotę łaskawie.
FAQ
**Czy TXT zachowuje tabele, obrazy lub style?**No. TXT jest płaskim tekstem; zaawansowane formatowanie jest rozcieńczone.
**Czy mogę dodać do istniejącego pliku bez przesłuchania?**Otwórz FileStream w trybie załącznika i wpisz do niego zapisany wynik. Upewnij się, że w razie potrzeby dodasz poprzednią nowość.
**Jak wybrać końcową linię?**zestaw TxtSaveOptions.ParagraphBreak
do "\r\n"
(Windows lub "\n"
(Unix i MacOS).
**Jak wyłączyć UTF-8 BOM?**Używanie new UTF8Encoding(false)
w TxtSaveOptions.Encoding
.
**Czy potrzebny jest Office lub Notepad?**No. Aspose.Words jest niezależny.