使用 GroupDocs Merger Java 將大型文字檔案依行分割

在本教學中,您將學習如何使用 GroupDocs Merger for Java 將分割大型文字檔內容分割成單行文件。無論是處理日誌、CSV 匯出或任何龐大的純文字來源,將檔案切割成可管理的片段,都能讓後續分析、平行處理與儲存變得更簡單。

快速解答

  • 什麼函式庫負責分割? GroupDocs Merger for Java.
  • 可以處理多少行? 它能處理包含數百萬行的檔案;API 以串流方式處理資料,保持低記憶體使用量。
  • 需要授權嗎? 免費試用可用於評估;商業授權則需於正式環境使用。
  • 需要哪個 Java 版本? JDK 8 或更新版本。
  • 可以變更輸出格式嗎? 可以——您可以將每行輸出為 TXT、PDF、DOCX,或任何 50 多種支援的格式。

什麼是大型文字檔分割?

將大型文字檔分割指的是逐行讀取,並將每行寫入獨立的文件,讓每筆記錄可獨立處理。此方法可減少記憶體壓力,並支援平行工作流程。

為什麼使用 GroupDocs Merger for Java?

GroupDocs Merger 支援 超過 50 種輸入與輸出格式,可在不將整個檔案載入記憶體的情況下處理數百頁的文件,並提供內建串流功能,使堆積使用量即使在超過 2 GB 的檔案亦維持在 100 MB 以下。這些具體的優勢使其成為企業級文字處理的首選。

前置條件

  • Java Development Kit (JDK) 8 或以上已安裝。
  • 建置工具 – 用於相依管理的 Maven 或 Gradle。
  • GroupDocs Merger for Java 函式庫(可透過 Maven/Gradle 下載或手動 JAR)。

必要的函式庫與相依性

將 GroupDocs Merger 加入您的專案:

Maven:

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-merger</artifactId>
    <version>latest-version</version>
</dependency>

Gradle:

implementation 'com.groupdocs:groupdocs-merger:latest-version'

或者,從 GroupDocs.Merger for Java 版本發布 下載最新版本。欲取得更多資訊,請參閱另一個 GroupDocs.Merger for Java 版本發布 連結。

取得授權的步驟

  1. 免費試用 – 無償測試所有功能。
  2. 臨時授權 – 若超出試用限制,請從 臨時授權頁面 申請短期金鑰。
  3. 購買 – 在 GroupDocs 購買頁面 取得完整授權,以無限制使用於正式環境。您亦可前往 GroupDocs 購買網站 了解價格細節。

如何使用 GroupDocs Merger 將大型文字檔分割為行文件?

載入來源檔案,設定 TextSplitOptions,並呼叫 split 方法。API 會串流每一行,寫入目標資料夾,並自動釋放資源,因此即使是數百萬行的檔案也能有效處理。透過串流方式,記憶體消耗維持在 100 MB 以下,且此作業可在多個 CPU 核心上平行化,以加速大型資料集的處理。

步驟 1:匯入必要的套件

MergerTextSplitOptions 以及標準 I/O 類別必須在任何處理之前匯入。

import com.groupdocs.merger.Merger;

Merger merger = new Merger("path/to/your/file.txt");

步驟 2:定義檔案路徑

指定來源文字檔的絕對或相對路徑,以及每行將被儲存的輸出目錄。

import com.groupdocs.merger.Merger;

Merger merger = new Merger("path/to/your/file.txt");

步驟 3:建立 Merger 實例

Merger 類別是 GroupDocs Merger 中所有文件操作的入口點。

import com.groupdocs.merger.Merger;
import com.groupdocs.merger.domain.options.TextSplitOptions;
import java.io.File;
import java.nio.file.Paths;

步驟 4:設定分割選項

TextSplitOptions 讓您能控制行分隔符、輸出命名方式,以及是否覆寫已存在的檔案。

String filePath = "YOUR_DOCUMENT_DIRECTORY/sample.txt";
String filePathOut = "YOUR_OUTPUT_DIRECTORY/";

步驟 5:執行分割作業

呼叫 split 方法,傳入輸出資料夾、覆寫旗標與欲使用的檔案副檔名。此方法會回傳產生的檔案路徑集合,您可以將其記錄或進一步處理。

Merger merger = new Merger(filePath);

參數說明

  • 輸出資料夾 – 每行文件寫入的目標位置。
  • 覆寫旗標true 會取代同名的已存在檔案。
  • 檔案副檔名 – 選擇 ".txt" 為純文字,或 ".pdf" 以產生每行 PDF。

常見問題與解決方案

  • 檔案路徑錯誤 – 再次確認輸入檔案是否存在,且輸出目錄具寫入權限。
  • 權限問題 – 以足夠的作業系統權限執行 JVM,或調整資料夾 ACL。
  • 版本衝突 – 確保 GroupDocs Merger JAR 版本與其他相依相符;在整個堆疊中使用相同的主版本號。

實務應用

將大型文字檔分割為行文件的用途包括:

  1. 資料處理管線 – 將每行送入獨立的微服務或 Spark 工作。
  2. 日誌檔案管理 – 將每筆日誌條目存檔為單獨檔案,以便快速檢索與合規稽核。
  3. 內容分段 – 將龐大的文章草稿切分為每句或每行的片段,以供協作編輯平台使用。

效能考量

在處理極大型檔案時:

  • 記憶體最佳化 – 依賴 GroupDocs Merger 的串流 API;避免將整個檔案載入 String
  • 批次處理 – 將檔案分塊(例如每批 10 000 行)進行分割,以保持磁碟 I/O 流暢。
  • JVM 調校 – 僅在需要除分割作業外的額外記憶體處理時,才提升堆積大小(-Xmx2g)。

結論

現在您已了解如何使用 GroupDocs Merger for Java 將大型文字檔內容分割成獨立的行文件。此技術提升可擴充性、支援平行處理,並簡化後續資料處理。

後續步驟

  • 嘗試其他輸出格式,如 PDF 或 DOCX,只需在 TextSplitOptions 中變更檔案副檔名。
  • 將分割作業與 GroupDocs Merger 的 mergewatermark 功能結合,構建端對端的文件工作流程。
  • 將此解決方案整合至 Spring Boot 服務或無伺服器函式,以實現自動化處理管線。

常見問答

Q: 我可以將檔案依段落而非行分割嗎?
A: 內建 API 依行分隔符進行分割,但您可以提供自訂分隔符(例如 "\n\n")將以空行分隔的段落視為分割單位。

Q: GroupDocs Merger 可免費用於商業專案嗎?
A: 可使用免費試用版進行評估;正式部署則需付費授權。

Q: 若我的文字檔包含 Unicode 字元該怎麼辦?
A: 函式庫會自動偵測 UTF‑8 編碼;如有需要,也可在 Merger 建構子中指定其他字元集。

Q: 分割器如何處理極大型檔案(多 GB)?
A: 它會將每行串流至磁碟,無論來源大小,記憶體使用皆維持在 100 MB 以下,適用於多 GB 檔案。

Q: API 是否支援除 TXT 之外的其他格式?
A: 是的——您可以將每行輸出為 PDF、DOCX、HTML,或產品文件中列出的 50 多種格式之一。

資源


最後更新: 2026-08-26
測試環境: GroupDocs Merger 23.11 for Java
作者: GroupDocs

// Create TextSplitOptions instance specifying mode to split by lines.
TextSplitOptions splitOptions = new TextSplitOptions(filePathOut, true, true);
merger.split(splitOptions);

相關教學