/ / czytanie dużych (450000+ znaków) ciągów z pliku - java, string, duże dane

czytanie dużych (450000+ znaków) ciągów z pliku - java, string, large-data

Zajmuję się więc integracją starszego systemu. Tworzy on duży plik tekstowy, który drukuje instrukcje w jednym dużym łańcuchu. Naprawdę duży ciąg. Mówimy o 450 000 znaków lub więcej.

Muszę to podzielić na linie, po jednej na instrukcję. Każda instrukcja jest oddzielona pięciocyfrowym kodem, gdzie kod zawiera liczbę znaków w następnej instrukcji.

Moim rozwiązaniem jest napisanie małego programu Java, który używa buforowanego czytnika do odczytu pliku w łańcuch, który jest następnie dzielony na linie i zapisywany w nowym pliku.

Jakieś rady na temat tego postępowania? Czy buforowany czytnik będzie mógł odczytać to w zwykłym ciągu? Czy robię to źle?

Odpowiedzi:

3 dla odpowiedzi № 1

Tak. Użyj buforowanego czytnika.

Opracuj maksymalny rozmiar instrukcji i utwórz znak [] o takim rozmiarze. Następnie zrób coś takiego:

 reader.read(charArray, 0, 5);

// parse the header

reader.read(charArray, 0, lengthOfInstruction);

String instruction = new String(charArray, 0, lengthOfInstruction);

// do stuff with the instruction

Umieszczasz to w pętli while, która kończy się po zakończeniu pliku.

Może to nie być najbardziej wydajne w czasie wykonywania, ale prawdopodobnie jest wystarczająco dobre i będzie wystarczająco proste, aby działać.