W tym samouczku dowiemy się o klasie Java InputStream i jej metodach na przykładzie.
InputStreamKlasa java.iopakietu jest abstrakcyjną nadklasą który reprezentuje wejściowego strumienia bajtów.
Ponieważ InputStreamjest to klasa abstrakcyjna, sama w sobie nie jest przydatna. Jednak jego podklasy mogą być używane do odczytu danych.
Podklasy InputStream
Aby skorzystać z funkcjonalności programu InputStream, możemy skorzystać z jego podklas. Niektórzy z nich są:
- FileInputStream
- ByteArrayInputStream
- ObjectInputStream

Dowiemy się o wszystkich tych podklasach w następnym samouczku.
Utwórz InputStream
Aby stworzyć InputStream, musimy najpierw zaimportować java.io.InputStreampakiet. Po zaimportowaniu pakietu, oto jak możemy utworzyć strumień wejściowy.
// Creates an InputStream InputStream object1 = new FileInputStream();
Tutaj utworzyliśmy strumień wejściowy przy użyciu FileInputStream. To dlatego, że InputStreamjest to klasa abstrakcyjna. Dlatego nie możemy stworzyć przedmiotu InputStream.
Uwaga : możemy również utworzyć strumień wejściowy z innych podklas InputStream.
Metody InputStream
InputStreamKlasa przewiduje różne metody, które są realizowane przez jej podklasy. Oto niektóre z powszechnie używanych metod:
read()- odczytuje jeden bajt danych ze strumienia wejściowegoread(byte() array)- odczytuje bajty ze strumienia i przechowuje w określonej tablicyavailable()- zwraca liczbę bajtów dostępnych w strumieniu wejściowymmark()- oznacza pozycję w strumieniu wejściowym, do której zostały odczytane danereset()- zwraca sterowanie do punktu w strumieniu, w którym został ustawiony znacznikmarkSupported()- sprawdza, czy w strumieniu jest obsługiwana metodamark()ireset()skips()- pomija i odrzuca określoną liczbę bajtów ze strumienia wejściowegoclose()- zamyka strumień wejściowy
Przykład: InputStream przy użyciu FileInputStream
Oto, jak możemy zaimplementować InputStreamza pomocą FileInputStreamklasy.
Załóżmy, że mamy plik o nazwie input.txt z następującą zawartością.
This is a line of text inside the file.
Spróbujmy odczytać ten plik przy użyciu FileInputStream(podklasy InputStream).
import java.io.FileInputStream; import java.io.InputStream; public class Main ( public static void main(String args()) ( byte() array = new byte(100); try ( InputStream input = new FileInputStream("input.txt"); System.out.println("Available bytes in the file: " + input.available()); // Read byte from the input stream input.read(array); System.out.println("Data read from the file: "); // Convert byte array into string String data = new String(array); System.out.println(data); // Close the input stream input.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) )
Wynik
Available bytes in the file: 35 Data read from the file: This is a line of text inside the file
W powyższym przykładzie utworzyliśmy strumień wejściowy przy użyciu FileInputStreamklasy. Strumień wejściowy jest powiązany z plikiem input.txt .
InputStream input = new FileInputStream("input.txt");
Aby odczytać dane z pliku input.txt , zaimplementowaliśmy te dwie metody.
input.read(array); // to read data from the input stream input.close(); // to close the input stream
Aby dowiedzieć się więcej, odwiedź stronę Java InputStream (oficjalna dokumentacja Java).








