Java InputStream (cu exemplu)

În acest tutorial, vom afla despre clasa Java InputStream și metodele sale cu ajutorul unui exemplu.

InputStreamClasa a java.iopachetului este o superclasa abstractă , care reprezintă un flux de intrare de octeți.

Deoarece InputStreameste 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ă InputStreameste 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

InputStreamClasa 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 intrare
  • read(byte() array) - citește octeți din flux și stochează în matricea specificată
  • available() - returnează numărul de octeți disponibili în fluxul de intrare
  • mark() - marchează poziția în fluxul de intrare până la care au fost citite datele
  • reset() - întoarce controlul la punctul din flux în care a fost setată marca
  • markSupported()- verifică dacă metoda mark()și reset()este acceptată în flux
  • skips() - omite și aruncă numărul specificat de octeți din fluxul de intrare
  • close() - închide fluxul de intrare

Exemplu: InputStream Folosind FileInputStream

Iată cum putem implementa InputStreamfolosind FileInputStreamclasa.

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 FileInputStreamclasa. 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).

Articole interesante...