Java RandomAccessFile

Java RandomAccessFile
W tym artykule przyjrzymy się klasie RandomAccessFile. Używa kursora do przesunięcia lokalizacji wskaźnika po pliku. Możliwość losowego dostępu do pliku nadaje mu nazwę, RandomAccessFile.

Przykład 1: dołączenie tekstu na końcu pliku

W tym przykładzie dodamy tekst na końcu następującego pliku za pomocą metod klasy RandomAccessFile.

Najpierw importujemy Java.io. Klasa LandomAccessFile. Następnie tworzymy nowy obiekt RandomAccessFile Nazywając konstruktor LandomAccessFile („Plik.txt ”,„ rw ”). Z nazwą i trybem pliku, ten obiekt funkcji () buduje strumień landomAccessFile. W takim przypadku trybem jest „RW”, który uruchamia plik w trybie odczytania.

Metoda „Seek ()” jest używana w następnym wierszu z plikiem parametru. Metoda długości () ustawia kursor/wskaźnik na określoną pozycję. W poprzednim przypadku jest to koniec tekstu pliku. Następnie metoda zapisu () jest wywoływana przez ciąg („ipsum”) jako jej parametry. Ta metoda zapisuje ciąg od bieżącego punktu pliku lub kursora. F.Metoda close () zamyka strumień plików losowego dostępu. Wszelkie zasoby systemowe wykorzystywane przez strumień są uwalniane.

Po skompilowaniu danego kodu możemy zobaczyć „pomyślnie dodane dane” w terminalu, który wskazuje, że kod uruchomił pomyślnie. Następnie, jeśli otworzymy plik „.plik txt ”, w którym dołączyliśmy dane w naszym kodzie, widzimy, że nasze dane są pomyślnie dołączane na końcu pliku.

Przykład 2: Czytanie tekstu z pliku tekstowego

W tym przykładzie przeczytamy zawartość pliku tekstowego za pomocą metod klasy RandomAccessFile. Plik do odczytania w tym przykładzie jest to, jak pokazano następująco:

W danym kodzie najpierw importujemy „Java.io.Losowy dostęp ”w celu użycia jego metod i funkcji. Tutaj tworzymy strumień RandomAccessFile z trybem „R”, który reprezentuje, że jest on w trybie tylko do odczytu. Obecne przesunięcie w bajtach z początku pliku jest dostarczane przez „F.funkcja getFilePointer () ”. Następnie dostarczamy tę wartość do funkcji Seek (), która ustawia wskaźnik pliku na początek pliku, w którym odbywa się następny odczyt. Następnie generujemy tablicę 5-bajtową. Gdy metoda odczytu jest wywoływana z tą tablicą jako jej parametr (F.odczyt (bajty)), 5 bajtów jest odczytywanych z pliku i są dodawane do tablicy 5 bajt.

F.Metoda Close () zamyka strumień RandomAccessFile. Wszelkie zasoby systemowe wykorzystywane przez strumień są uwalniane.

Wreszcie bajty powrotne zwracają tablicę, w której tekst z pliku jest odczytany i dodany. Można to zobaczyć następująco, że tylko 5 znaków z pliku jest wyświetlanych na terminalu.

Przykład 3: Pisanie tekstu w pliku tekstowym

W tym przykładzie użyjemy metod shee (), write () i close () do zapisywania danych w pliku tekstowym. W tym przykładzie jest również funkcja GET Bytes.

W danym kodzie najpierw importujemy Java.io. RandomAccessFile do używania jego metod i funkcji. Tutaj tworzymy strumień RandomAccessFile z trybem „RW”, który reprezentuje, że jest on w trybie odczytania. F.Szukaj (5) Metoda przesuwa pozycję wskaźnika pliku do 5th indeks. Następnie F.Napisz („Dane”.getBytes ()) zapisuje nowe bajty „danych” i zastępuje istniejące bajty, jeśli takie są obecne w tej lokalizacji.

F.Metoda Close () zamyka strumień RandomAccessFile. Wszelkie zasoby systemowe wykorzystywane przez strumień są uwalniane.

Po zakończeniu kompilacji ciąg „Pomyślnie dodany danych” jest wyświetlany na terminalu, aby wskazać, że kod uruchomił pomyślnie. Plik tekstowy, w którym napisaliśmy tekst przy użyciu landomAccessFile, pokazano następująco:

Przykład 4: Dodanie, dodanie tekstu w pliku i odczyt tekstu pliku

W tym przykładzie zaimplementujemy wszystkie różne podejścia, które możemy przyjąć z obiektem klasy RandomAccessFile i jego wieloma funkcjami do pisania, dołączania i odczytu danych z pliku tekstowego.

Tworzymy trzy różne funkcje w jednej klasie do pisania, dołączania danych i czytania treści pliku tekstowego. W funkcji DODATKU DANYCH I WRETEJ Używamy funkcji zapisu () przy użyciu obiektu klasy RandomAccessFile. W funkcji danych Dodatek dodajemy dane po ostatnim bajcie pliku za pomocą pliku.długość () funkcja jako parametr w funkcji sheee (). W funkcji danych zapisu wstawiamy dane na początku pliku, przekazując wartość całkowitą w funkcji Seek (). W ten sposób funkcja danych Dodatek może dodać dane na koniec pliku. W ostatniej funkcji używamy funkcji Read () do odczytania bajtów pliku. W tej funkcji przekazujemy dwa parametry, które działają jako zakres, z którego chcemy odczytać dane.

Jak widać w terminalu, wyjście pokazuje tylko pierwsze 5 bajtów pliku, ponieważ zakres jest ustawiony w funkcji Read (). Teraz otwieramy plik tekstowy i weryfikujemy, czy dane są wstawiane i dołączane we właściwej pozycji.

Jak widać w poprzednim fragmencie, dane w pliku tekstowym są poprawnie wstawiane po utworzeniu naszego programu Java.

Wniosek

W tym artykule omówiliśmy użycie klasy RandomAccessFile w Javie. Obiekt tej klasy służy do wywołania wielu funkcji, które są lukratywne w wyodrębnianiu i wstawieniu danych do pliku tekstowego. Wdrożyliśmy kilka przykładów różnych metod tej klasy w Ubuntu 20.04 Środowisko. W tych przykładach użyliśmy metod zapisu (), shee () i read (), aby wstawić dane do pliku tekstowego i odczytać zawartość pliku tekstowego.