V tomto kurzu se na příkladu dozvíme o třídě Java InputStream a jejích metodách.
InputStreamTřída java.iobalíčku je abstraktní nadtřída, který představuje vstupní proud bajtů.
Jelikož InputStreamjde o abstraktní třídu, není sama o sobě užitečná. Jeho podtřídy však lze použít ke čtení dat.
Podtřídy InputStream
Abychom mohli využít funkčnost InputStream, můžeme použít její podtřídy. Někteří z nich jsou:
- FileInputStream
- ByteArrayInputStream
- ObjectInputStream

O všech těchto podtřídách se dozvíme v dalším kurzu.
Vytvořte InputStream
Abychom mohli vytvořit InputStream, musíme java.io.InputStreamnejprve importovat balíček. Jakmile importujeme balíček, můžeme vytvořit vstupní proud takto.
// Creates an InputStream InputStream object1 = new FileInputStream();
Zde jsme vytvořili vstupní proud pomocí FileInputStream. Je to proto, že InputStreamjde o abstraktní třídu. Proto nemůžeme vytvořit objekt InputStream.
Poznámka : Můžeme také vytvořit vstupní proud z jiných podtříd třídy InputStream.
Metody InputStream
InputStreamTřída poskytuje různé metody, které jsou implementovány jejích podtříd. Zde jsou některé z běžně používaných metod:
read()- načte jeden bajt dat ze vstupního prouduread(byte() array)- čte bajty ze streamu a ukládá je do zadaného poleavailable()- vrátí počet bajtů dostupných ve vstupním proudumark()- označí pozici ve vstupním proudu, do které byla načtena datareset()- vrátí ovládací prvek do bodu v proudu, kde byla nastavena značkamarkSupported()- zkontroluje, zda je v proudu podporována metodamark()areset()skips()- přeskočí a zahodí zadaný počet bajtů ze vstupního prouduclose()- zavře vstupní proud
Příklad: InputStream pomocí FileInputStream
Zde je způsob, jak můžeme implementovat InputStreampomocí FileInputStreamtřídy.
Předpokládejme, že máme soubor s názvem input.txt s následujícím obsahem.
This is a line of text inside the file.
Zkusme tento soubor přečíst pomocí FileInputStream(podtřídy 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(); ) ) )
Výstup
Available bytes in the file: 35 Data read from the file: This is a line of text inside the file
Ve výše uvedeném příkladu jsme vytvořili vstupní proud pomocí FileInputStreamtřídy. Vstupní proud je propojen se souborem input.txt .
InputStream input = new FileInputStream("input.txt");
Abychom mohli načíst data ze souboru input.txt , implementovali jsme tyto dvě metody.
input.read(array); // to read data from the input stream input.close(); // to close the input stream
Další informace najdete v Java InputStream (oficiální dokumentace Java).








