Zapis na początek pliku

Zapis na początek pliku
A9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
0

Witam
Czy istnieje możliwość dopisywania na początku pliku? Bez jego przepisywania ? Przeszukałem google jednak nie znalazłem nic poza komendą seek(0) ustawiającą wskaźnik na początku pliku ;/ (jednak nie spełnia to swojej roli)

Chyba, że miałby ktoś pomysł jak czytać plik od końca (bo głównie chodzi o to, że musze odczytać z pliku ostatnie 10 rekordów np. jednak wczytywanie całego pliku nie ma sensu)

Z góry dzięki za pomoc
Pozdrawiam

BL
  • Rejestracja: dni
  • Ostatnio: dni
0

Jeśli dobrze pamiętam, to wystarczy, że otworzysz plik w trybie zapisu, ale nie nadpisywania, i użyjesz najzwyklejszego put

Loganek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 268
0

owszem można odczytać od końca, za pomocą właśnie funkcji seek(liczba) gdzie liczba to na początku rozmiar pliku minus 1, potem odczytujesz znak, przesuwasz się seekem o 2 pozycje w tył i tak aż do początku pliku.

  • Rejestracja: dni
  • Ostatnio: dni
0

daj przed seekiem stream.clear();

byku_guzio
  • Rejestracja: dni
  • Ostatnio: dni
1

Nie można nic dopisywać w środku pliku, bez nadpisywanie tego co tam jest. Tak już pliki działają i się trzeba z tym pogodzić. Czytanie od końca pliku tak jak podał Loganek jest masakrycznie niewydajne. Jeżeli rekordy mają stały rozmiar wystarczy odpowiednio ustawić pozycję w pliku i od niej czytać. Jak nie to zawsze na początku/końcu takiego pliku możesz zapisywać pozycję poszczególnych rekordów.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.