識別子に基づいて読み取り、それをグループ化し、多数のテキスト ファイルを作成する必要があるテキスト ファイルがあります。以前のプロジェクトで RandomAccessFile、Filereader を使用しましたが、以下の要件を達成するには手がかりが必要です。一般的な詳細に基づいてレコードの行をグループ化するロジックが得られれば、コードを書くことができます。
担保.txt
General Details|S|!|!|66T4049|N|
Charge Details|S|!|!|66T4049| 3825|
Charge Details|S|!|!|66T4049| 3826|
Machinery Details|S|!|!|66T4049|N|
General Details|S|!|!|66T4050|N|
Immovable Property Details|S|!|!|66T4050|N|
US_CIPD|66T4050|N|S156284|02-01-2013 00:58:50|
General Details|S|!|!|66T4050|N|IMUSD|I||| | |
Immovable Property Details|S|!|!|66T4050|N|IMUSD|
US locale Immovable Property Details|66T4050|N|
General Details|S|!|!|66T4051|N|MACH|M||| | |
General Details|S|!|!|66T4051|N|MACH|M||| | |
Charge Details|S|!|!|66T4051| 3827|N|
Charge Details|S|!|!|66T4051| 3828|N|
Insurance Details|S|!|!|66T4051| 1|Y|
Insurance Details|S|!|!|66T4051| 2|Y|
Inspection Details|S|!|!|66T4051| 1846|N|
Inspection Details|S|!|!|66T4051| 1845|N|
Ownership and Tenancy Details|66T4051| 329|0
Ownership and Tenancy Details|66T4051| 328|0
機械の詳細|S|!|!|66T4051|N|MACH|123|55| 追加資料の詳細|66T4051|N|01|__14P|
General Details は親キーです。一般的な詳細の下に、状態料金の詳細に基づいて、機械の詳細、保険の詳細、およびその他の詳細が含まれます。
1 つの一般的な詳細セクションをグループ化し、新しいファイルを作成する必要があります。まあ言ってみれば。
Collateral1.txt
General Details|S|!|!|66T4049|N|
Charge Details|S|!|!|66T4049| 3825|
Charge Details|S|!|!|66T4049| 3826|
Machinery Details|S|!|!|66T4049|N|
Collateral2.txt
General Details|S|!|!|66T4050|N|
Immovable Property Details|S|!|!|66T4050|N|
US_CIPD|66T4050|N|S156284|02-01-2013 00:58:50|
Collateral3.txt
General Details|S|!|!|66T4050|N|IMUSD|I||| | |
Immovable Property Details|S|!|!|66T4050|N|IMUSD|
US locale Immovable Property Details|66T4050|N|
Collateral4.txt
General Details|S|!|!|66T4051|N|MACH|M||| | |
等々...
必要なファイルリーダーと、ロジックを実装する方法を教えてください。区切り文字は各列のパイプになり、区切り文字は各行の終了行になります。