鑑於有一些文件的客戶1.txt的,以客戶爲2.txt和客戶3.txt和這些文件具有以下內容:閱讀,比較和Java的
客戶-1。 TXT
1|1|MARY|SMITH
2|1|PATRICIA|JOHNSON
4|2|BARBARA|JONES
客戶-2.txt
1|1|MARY|SMITH
2|1|PATRICIA|JOHNSON
3|1|LINDA|WILLIAMS
4|2|BARBARA|JONES
客戶-3.txt
2|1|PATRICIA|JOHNSON
3|1|LINDA|WILLIAMS
5|2|ALEXANDER|ANDERSON
這些文件有很多重複數據,但每個文件都可能包含一些獨特的數據。
而且考慮到實際文件分類,大(幾個GB的每個文件),並有許多文件...
那麼什麼是:
一)內存最低
b )CPU最低
C)在Java中最快
的方法來創建一個文件,這些三個文件將包含分選,然後連接起來像這樣每個文件的所有獨特的數據:
客戶爲final.txt
1|1|MARY|SMITH
2|1|PATRICIA|JOHNSON
3|1|LINDA|WILLIAMS
4|2|BARBARA|JONES
5|2|ALEXANDER|ANDERSON
我看着下面的解決方案https://github.com/upcrob/spring-batch-sort-merge,但我想知道,如果可能用的FileInputStream和/或非Spring Batch的解決方案,也許這樣做。
由於文件的大小和實際數據庫的缺失,使用內存或實際數據庫加入它們的解決方案對於我的用例不可行。
第一個值是客戶ID,是已經按照第一個值排序(數字)的文件,因爲您的示例會指出它們是? – Andreas
是的,你是正確的,他們已經排序。感謝您的注意,請將其添加到問題描述中。 –
我不認爲你可以在沒有閱讀文件內容的情況下實現這一點。您需要閱讀每個文件,然後將其寫入單獨的文件。 – Priyamal