Wpis z mikrobloga

  • 0
Czytać linia po linii?


@BeginEnd: nie możesz, linia nie mieści się w pamięci. Mówimy o ogromnych zbiorach danych.

Nie pytaj mnie jakich, to pytanie rekrutacyjne.

Czytanie linia po linii to błędna odpowiedź.
  • Odpowiedz
nie możesz, linia nie mieści się w pamięci. Mówimy o ogromnych zbiorach danych.


@pyroxar: Odpowiedź jest dobra do pytania, które zadałeś. Jeżeli to ma być linia N to czytasz i zapisujesz, aż trafisz N-tą linię i wtedy podmieniasz i czytasz i zapisujesz dalej. Jak ci się nie mieści, to możesz czytać po kawałku tyle ile masz miejsca w buforze. Jak wiesz, że linie są równe co do długości to szukasz
  • Odpowiedz
co znaczy nie mieści się w pamięci?
mogę sobie stworzyć bufor o rozmiarze 0 i wtedy żadna linia się nie zmieści.
  • Odpowiedz
@pyroxar Nie mieści się w pamięci, czyli nie można zaladować sobie całej lini na raz do ramu, bo np. ma kilka gigabajtów. Rozwiązanie jest banalne, bo wystarczy nie czytać pliku linia po linii, tylko bufor po buforze. Rozmiar bufora sam ustalasz. Końce linii rozpoznajesz po znaku końca linii.
  • Odpowiedz