Scalanie wstępnie posortowanych plików bez czytania wszystkiego do pamięci

Mam listę plików dziennika, gdzie każda linia w każdym pliku ma znacznik czasu, a linie są wstępnie sortowane rosnąco w każdym pliku. Różne pliki mogą mieć nakładające się zakresy czasu, a moim celem jest połączenie ich w jeden duży plik, posortowany według datownika. W sortowaniu mogą istnieć więzy, w którym to przypadku chcę, aby następny wiersz pochodził z dowolnego pliku wymienionego na liście jako pierwszy.

Widziałem przykłady tego, jak to zrobićfileinput (widziećtutaj), ale wydaje się, że odczytuje wszystkie pliki do pamięci. Ze względu na duży rozmiar moich plików będzie to problem. Ponieważ moje pliki są wstępnie posortowane, wydaje się, że powinien istnieć sposób na ich scalenie za pomocą metody, która musi tylko wziąć pod uwagę najnowszą niezbadaną linię z każdego pliku.

questionAnswers(2)

yourAnswerToTheQuestion