Strumień wejściowy plików Java w Ubuntu 20.04

Strumien Wejsciowy Plikow Java W Ubuntu 20 04



„W tym artykule omówimy różne sposoby odczytywania danych z plików do tablicy bajtów za pomocą klasy Java Input Stream. Ta klasa reprezentuje posortowany strumień bajtów z pliku. W klasie Java Input Stream znajduje się wiele funkcji, które są powszechnie używane i zostaną omówione w tym artykule, takich jak metody read(), available(), skip() i close(). Metody te służą do odczytywania plików o różnych rozszerzeniach, takich jak pliki bin lub txt, i można je zmienić, aby uzyskać informacje z dowolnego miejsca w pliku. W tym artykule będziemy wdrażać te metody w środowisku Ubuntu 20.04.

Istnieje wiele innych metod klasy File Input Stream, które są również bardzo pomocne w pobieraniu danych z pliku; niektóre z nich to int read(byte[] b), funkcja ta odczytuje dane ze strumienia wejściowego o długości do b.length bajtów. File Channel pobiera channel(): Konkretny obiekt File Channel podłączony do strumienia wejściowego pliku jest zwracany za jego pomocą. Finalize() służy do zapewnienia, że ​​funkcja close() zostanie wywołana, gdy nie ma już odniesienia do strumienia wejściowego pliku.”

Przykład 01: Odczytywanie pojedynczego bajtu z pliku tekstowego przy użyciu metod read() i close() klasy strumienia wejściowego

W tym przykładzie użyto strumienia wejściowego pliku do odczytania pojedynczego znaku i wydrukowania zawartości. Załóżmy, że mamy plik o nazwie „file.txt” o treści pokazanej poniżej:









Załóżmy, że mamy plik o nazwie „file.txt” z zawartością pokazaną powyżej. Spróbujmy teraz odczytać i wydrukować pierwszy znak pliku.







Najpierw musimy zaimportować java.io. Pakiet File Input Stream w celu skonstruowania pliku wejściowego strumienia. Następnie utworzymy nowy obiekt File Input Stream, który zostanie połączony z plikiem określonym (plik.txt) w zmiennej „f”.

W tym przykładzie użyjemy metody „int read()” klasy Java File Input Stream, która służy do odczytania pojedynczego bajtu z pliku i zapisania go w zmiennej „I”. Następnie „System.out.print(char(i))” wyświetla znak odpowiadający temu bajtowi.



Metoda f.close() zamyka plik i strumień. Po zbudowaniu i uruchomieniu powyższego skryptu uzyskamy następujące dane wyjściowe, ponieważ widzimy, że drukowana jest tylko początkowa litera tekstu „L”.

Przykład 02: Odczytywanie całej zawartości pliku tekstowego przy użyciu metod read() i close() klasy strumienia wejściowego

W tym przykładzie będziemy czytać i wyświetlać całą zawartość pliku tekstowego; jak pokazano niżej:

Po raz kolejny będziemy importować java.io. Pakiet File Input Stream w celu skonstruowania pliku wejściowego strumienia.

Najpierw odczytamy pierwszy bajt pliku i wyświetlimy odpowiedni znak wewnątrz pętli while. Pętla while będzie działała do momentu, gdy nie pozostaną żadne bajty, czyli do końca tekstu w pliku. Linia 12 odczyta następny bajt, a pętla będzie kontynuowana do ostatniego bajtu pliku.

Po skompilowaniu i wykonaniu powyższego kodu otrzymamy następujące wyniki. Jak widzimy, cały tekst pliku „Lorep Ipsum” jest wyświetlany w terminalu.

Przykład 03: Określanie liczby dostępnych bajtów w pliku tekstowym przy użyciu metody available() klasy strumienia wejściowego

W tym przykładzie użyjemy funkcji „available()” strumienia wejściowego pliku, aby określić liczbę istniejących bajtów w strumieniu wejściowym pliku.

Najpierw wygenerowaliśmy obiekt klasy strumienia wejściowego pliku o nazwie „a” z następującym kodem. W wierszu 5 wykorzystaliśmy metodę „available()”, aby określić i wyświetlić całkowitą ilość dostępnych bajtów w pliku. Następnie od linii 6 do linii 8 trzykrotnie użyliśmy funkcji „read()”. Teraz w wierszu 9 ponownie użyliśmy metody „available()”, aby sprawdzić i wyświetlić pozostałe bajty.

Po skompilowaniu i uruchomieniu kodu widzimy, że pierwsza linia danych wyjściowych pokazuje całkowitą liczbę dostępnych bajtów w pliku. Kolejny wiersz pokazuje liczbę bajtów dostępnych na końcu kodu, czyli o 3 mniej niż bajty dostępne na początku. Dzieje się tak, ponieważ trzykrotnie użyliśmy metody read w naszym kodzie.

Przykład 04: Pomijanie bajtów pliku tekstowego w celu odczytania danych z określonego punktu przy użyciu metody skip() klasy strumienia wejściowego

W tym przykładzie użyjemy metody „skip(x)” strumienia wejściowego pliku, która służy do ignorowania i ignorowania podanej liczby bajtów danych ze strumienia wejściowego.

W poniższym kodzie najpierw utworzyliśmy strumień wejściowy pliku i zapisaliśmy go w zmiennej „a”. Następnie użyliśmy metody „a.skip(5)”, która pomija pierwsze 5 bajtów pliku. Następnie wydrukowaliśmy pozostałe znaki pliku za pomocą metody „read()” wewnątrz pętli while. Na koniec zamknęliśmy strumień wejściowy pliku metodą „close()”.

Poniżej zrzut ekranu terminala po skompilowaniu i uruchomieniu kodu. Jak widać, wyświetlane jest tylko „Ipsum”, ponieważ pominęliśmy pierwsze 5 bajtów za pomocą metody „skip()”.

Wniosek

W tym artykule omówiliśmy zastosowania klasy File Input Stream i jej różne metody; read(), available(), skip() i close(). Użyliśmy tych metod do odczytania pierwszego elementu pliku za pomocą metod read() i close(). Następnie odczytujemy cały plik metodą iteracyjną i tymi samymi metodami. Następnie użyliśmy metody available() do określenia liczby bajtów obecnych na początku i na końcu pliku. Następnie użyliśmy metody skip(), aby pominąć kilka bajtów przed odczytaniem pliku, co pozwoliło nam uzyskać określone dane, których potrzebowaliśmy.