Witam,
mam za zadanie wyszukać podany ciąg znaków w pliku za pomocą strumieni. Mógłbym taki plik sprawdzać linia po linii, czy w aktualnie odczytanej dany ciąg znaków występuje, ale muszę wziąć pod uwagę, że plik może zajmować 20GB i w ogóle nie posiadać znaku nowej linii, co wtedy?
Dlatego pomyślałem o przeszukiwaniu pliku za pomocą BufferedReader o określonym rozmiarze bufora, ale..
Przypuśćmy, że szukam ciągu "abcd" a mój bufor pozwala na wczytanie czterech znaków w jednym momencie. Jak się zabezpieczyć przed sytuacją gdy przeszukując plik trafię na coś takiego:
[ _ _ a b] [c d _ _ ]
litery "ab" będą na końcu ciągu wczytanego a litery "cd" będą na początku już nowo wczytanego ciągu z pliku.
Czyli w pliku występuje ciąg "abcd" ale taki sposób tego nie znajdzie.
Proszę o wskazówki jak do tego podejść, co przeczytać, na co zwrócić uwagę.
Za wszystkie propozycje, porady - wielkie dzięki.
Pozdrawiam,
Michał