使用 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 版本發布 連結。
取得授權的步驟
- 免費試用 – 無償測試所有功能。
- 臨時授權 – 若超出試用限制,請從 臨時授權頁面 申請短期金鑰。
- 購買 – 在 GroupDocs 購買頁面 取得完整授權,以無限制使用於正式環境。您亦可前往 GroupDocs 購買網站 了解價格細節。
如何使用 GroupDocs Merger 將大型文字檔分割為行文件?
載入來源檔案,設定 TextSplitOptions,並呼叫 split 方法。API 會串流每一行,寫入目標資料夾,並自動釋放資源,因此即使是數百萬行的檔案也能有效處理。透過串流方式,記憶體消耗維持在 100 MB 以下,且此作業可在多個 CPU 核心上平行化,以加速大型資料集的處理。
步驟 1:匯入必要的套件
Merger、TextSplitOptions 以及標準 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 版本與其他相依相符;在整個堆疊中使用相同的主版本號。
實務應用
將大型文字檔分割為行文件的用途包括:
- 資料處理管線 – 將每行送入獨立的微服務或 Spark 工作。
- 日誌檔案管理 – 將每筆日誌條目存檔為單獨檔案,以便快速檢索與合規稽核。
- 內容分段 – 將龐大的文章草稿切分為每句或每行的片段,以供協作編輯平台使用。
效能考量
在處理極大型檔案時:
- 記憶體最佳化 – 依賴 GroupDocs Merger 的串流 API;避免將整個檔案載入
String。 - 批次處理 – 將檔案分塊(例如每批 10 000 行)進行分割,以保持磁碟 I/O 流暢。
- JVM 調校 – 僅在需要除分割作業外的額外記憶體處理時,才提升堆積大小(
-Xmx2g)。
結論
現在您已了解如何使用 GroupDocs Merger for Java 將大型文字檔內容分割成獨立的行文件。此技術提升可擴充性、支援平行處理,並簡化後續資料處理。
後續步驟
- 嘗試其他輸出格式,如 PDF 或 DOCX,只需在
TextSplitOptions中變更檔案副檔名。 - 將分割作業與 GroupDocs Merger 的 merge 與 watermark 功能結合,構建端對端的文件工作流程。
- 將此解決方案整合至 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);