GroupDocs.Merger 用 Java テキスト処理チュートリアル

Java でプレーンテキストコンテンツを扱う必要がある場合、java text processing は多くの自動化シナリオ(ログ解析から大量データ移行まで)の基盤となります。GroupDocs.Merger for Java は、JVM を離れることなくテキストを分割、抽出、再構成できる強力なフォーマット非依存 API を提供します。このガイドでは、最も一般的な操作を順に解説し、その重要性を説明し、各手法をコードで示す既成のチュートリアルへ案内します。

クイック回答

  • GroupDocs.Merger はテキストで何ができますか? 行範囲でファイルを分割し、個々の行を抽出し、各セグメントごとに別々のドキュメントを作成できます。
  • 追加のライブラリは必要ですか? いいえ、GroupDocs.Merger for Java の NuGet/JAR パッケージだけです。
  • 100 MB を超えるファイルを処理できますか? はい、API はデータをストリーミングするため、ファイル全体をメモリにロードせずに数百メガバイトのファイルを扱えます。
  • 開発用にライセンスは必要ですか? テスト用の無料一時ライセンスが利用可能です。商用利用には商用ライセンスが必要です。
  • サポートされている Java バージョンは? Java 8 以降(Java 11、17、21 など)です。

java テキスト処理とは何ですか?

Java text processing は、プレーンテキストデータの読み取り、分割、フィルタリング、書き込みを Java API で操作することを指します。GroupDocs.Merger はテキストファイルをドキュメントオブジェクトとして扱い、行範囲分割やバッチドキュメント作成といった高度な操作を可能にします。

java テキスト処理に GroupDocs.Merger を使用する理由

GroupDocs.Merger は 50 以上の入力および出力フォーマット(TXT、CSV、DOCX、PDF、HTML など)をサポートし、最大 500 MB のファイルをメモリ消費 50 MB 未満 に抑えて処理できます。ストリーミングアーキテクチャにより、エンタープライズパイプラインで信頼性の高い高スループットのテキスト処理が実現します。

前提条件

  • 開発マシンに Java 8 以上がインストールされていること。
  • プロジェクトに com.groupdocs:groupdocs-merger の Maven または Gradle 依存関係が追加されていること。
  • 有効な GroupDocs の一時または商用ライセンスファイル(下記「一時ライセンス」リンクから取得可能)。

GroupDocs.Merger for Java を使用してテキストファイルを個別の行ドキュメントに分割する方法?

Merger は GroupDocs.Merger のコアクラスで、ドキュメントの読み込みと操作を行います。
split は提供された行範囲に基づいてドキュメントを個別のパーツに分割するメソッドです。
Merger でソースファイルを読み込み、split を呼び出し、各セグメントの開始行と終了行を指定します。API は Document オブジェクトのリストを返し、個別に保存でき、ファイルサイズに関係なく行順を保持します。

ステップ 1: ライセンスで Merger を初期化する

Merger インスタンスを作成し、ライセンスファイルを指定して対象のテキストファイルをロードします。

ステップ 2: 行範囲を定義して分割する

LineRange オブジェクトの配列を提供します。各オブジェクトは開始行と終了行のペアを表します。LineRange は抽出する行番号の範囲を示すヘルパークラスで、ライブラリは各範囲ごとに別々のドキュメントを生成します。

ステップ 3: 結果のドキュメントを保存する

返されたリストを反復処理し、各 Document に対して save を呼び出し、TXT や PDF など希望の出力フォーマットを指定します。

Pro tip: 非常に大きなログを分割する場合、LineRange オブジェクトを 10 000 行ブロック単位で使用すると、各出力ファイルを管理しやすくなり、下流処理の速度が向上します。

カスタム区切り文字でテキストを分割する方法 (テキストの分割方法)

splitByDelimiter は指定した文字列区切り文字が出現する場所でドキュメントを分割するメソッドです。
例として splitByDelimiter("###") と指定すれば、区切り文字ごとに分割点とみなし、別々のドキュメントを生成します。区切り文字は任意の Unicode シーケンスで構いません。また、各パートの出力フォーマットも指定できるため、エンコーディングや命名規則を統一できます。

行を個別のドキュメントに分割する方法 (行の分割方法)

splitByLine はソーステキストの各行ごとに別々のドキュメントを作成するメソッドです。
splitByLine() を呼び出すと、ライブラリはファイルを行単位で走査し、各要素が単一行を表すコレクションを返します。その後、各要素を TXT、PDF、またはサポートされている任意の形式で直接保存でき、カスタム命名パターンを適用して出力を整理することも可能です。

一般的な落とし穴と解決策

  • 範囲の先頭または末尾に空行がある場合: 範囲をトリムするか、ignoreEmptyLines フラグを使用して空白ドキュメントの生成を防止します。
  • エンコーディングの不一致: Merger を構築する際にソースファイルのエンコーディング(例: UTF‑8)を明示的に設定し、文字化けを回避します。
  • 巨大ファイルでのメモリスパイク: File オブジェクトではなく InputStream を渡してソースファイルをストリーミングし、ヒープ使用量を低く抑えます。

利用可能なチュートリアル

GroupDocs.Merger for Java を使用してテキストファイルを個別の行ドキュメントに分割する方法

GroupDocs.Merger for Java を活用し、大規模テキストファイルを行単位で効率的に分割する方法を学び、アプリケーションのデータ管理と処理を改善します。

追加リソース

よくある質問

Q: 同じコードで PDF と TXT ファイルを分割できますか?
A: はい、Merger API はフォーマットを抽象化しているため、同じ split メソッドが PDF、TXT、DOCX などのサポート対象タイプで機能します。

Q: GroupDocs.Merger は非常に大きなファイルをどのように処理しますか?
A: データをストリーミングし、500 MB 超のファイルでもメモリ使用量を 50 MB 未満に抑えるため、メモリ不足エラーが発生しません。

Q: 正規表現に基づいてファイルを分割できますか?
A: API が直接正規表現を受け付けない代わりに、Java の Pattern クラスでテキストを前処理し、算出した行範囲を Merger に渡すことで実現できます。

Q: 追加のネイティブライブラリをインストールする必要がありますか?
A: いいえ、ライブラリは純粋な Java で構成されており、必要な Java バージョンをサポートする任意のプラットフォームで動作します。

Q: 本番環境で利用できるライセンスオプションは?
A: GroupDocs は永久ライセンス、サブスクリプション、そして一時ライセンスを提供しており、一時ライセンスは評価やテストに最適です。


最終更新日: 2026-07-20
テスト環境: GroupDocs.Merger 23.12 for Java
作者: GroupDocs

関連チュートリアル