În acest tutorial, vom afla despre clasa Java InputStream și metodele sale cu ajutorul unui exemplu.
InputStream
Clasa a java.io
pachetului este o superclasa abstractă , care reprezintă un flux de intrare de octeți.
Deoarece InputStream
este o clasă abstractă, nu este utilă de la sine. Cu toate acestea, subclasele sale pot fi utilizate pentru a citi date.
Subclase de InputStream
Pentru a utiliza funcționalitatea InputStream
, putem folosi subclasele sale. Unii dintre ei sunt:
- FileInputStream
- ByteArrayInputStream
- ObjectInputStream
Vom afla despre toate aceste subclase în următorul tutorial.
Creați un InputStream
Pentru a crea un InputStream, trebuie mai java.io.InputStream
întâi să importăm pachetul. Odată ce am importat pachetul, iată cum putem crea fluxul de intrare.
// Creates an InputStream InputStream object1 = new FileInputStream();
Aici, am creat un flux de intrare folosind FileInputStream
. Este pentru că InputStream
este o clasă abstractă. Prin urmare, nu putem crea un obiect al InputStream
.
Notă : Putem crea și un flux de intrare din alte subclase ale InputStream
.
Metode de InputStream
InputStream
Clasa prevede metode diferite care sunt puse în aplicare de către subclase. Iată câteva dintre metodele utilizate în mod obișnuit:
read()
- citește un octet de date din fluxul de intrareread(byte() array)
- citește octeți din flux și stochează în matricea specificatăavailable()
- returnează numărul de octeți disponibili în fluxul de intraremark()
- marchează poziția în fluxul de intrare până la care au fost citite datelereset()
- întoarce controlul la punctul din flux în care a fost setată marcamarkSupported()
- verifică dacă metodamark()
șireset()
este acceptată în fluxskips()
- omite și aruncă numărul specificat de octeți din fluxul de intrareclose()
- închide fluxul de intrare
Exemplu: InputStream Folosind FileInputStream
Iată cum putem implementa InputStream
folosind FileInputStream
clasa.
Să presupunem că avem un fișier numit input.txt cu următorul conținut.
This is a line of text inside the file.
Să încercăm să citim acest fișier folosind FileInputStream
(o subclasă de 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(); ) ) )
Ieșire
Available bytes in the file: 35 Data read from the file: This is a line of text inside the file
În exemplul de mai sus, am creat un flux de intrare folosind FileInputStream
clasa. Fluxul de intrare este legat de fișierul input.txt .
InputStream input = new FileInputStream("input.txt");
Pentru a citi date din fișierul input.txt , am implementat aceste două metode.
input.read(array); // to read data from the input stream input.close(); // to close the input stream
Pentru a afla mai multe, vizitați Java InputStream (documentație oficială Java).