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

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 StreamStream 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.

 Polski