Java InputStream (med eksempel)

I denne veiledningen vil vi lære om Java InputStream-klassen og dens metoder ved hjelp av et eksempel.

Den InputStreamklasse av java.iopakken er en abstrakt super som representerer en inngående strøm av bytes.

Siden InputStreamer en abstrakt klasse, er den ikke nyttig i seg selv. Imidlertid kan underklassene brukes til å lese data.

Underklasser av InputStream

For å kunne bruke funksjonaliteten til InputStream, kan vi bruke underklassene. Noen av dem er:

  • FileInputStream
  • ByteArrayInputStream
  • ObjectInputStream

Vi vil lære om alle disse underklassene i neste opplæring.

Opprett en InputStream

For å lage en InputStream, må vi først importere java.io.InputStreampakken. Når vi har importert pakken, kan du lage inngangsstrømmen her.

 // Creates an InputStream InputStream object1 = new FileInputStream(); 

Her har vi opprettet en inngangsstrøm ved hjelp av FileInputStream. Det er fordi det InputStreamer en abstrakt klasse. Derfor kan vi ikke skape et objekt av InputStream.

Merk : Vi kan også lage en inngangsstrøm fra andre underklasser av InputStream.

Metoder for InputStream

Den InputStreamklasse gir forskjellige metoder som er implementert ved dens subklasser. Her er noen av de mest brukte metodene:

  • read() - leser en byte med data fra inngangsstrømmen
  • read(byte() array) - leser byte fra strømmen og lagrer i den angitte matrisen
  • available() - returnerer antall byte tilgjengelig i inngangsstrømmen
  • mark() - markerer posisjonen i inngangsstrømmen som data er lest opp til
  • reset() - returnerer kontrollen til punktet i strømmen der merket ble satt
  • markSupported()- sjekker om mark()og reset()metoden støttes i strømmen
  • skips() - hopper over og forkaster det spesifiserte antallet byte fra inngangsstrømmen
  • close() - lukker inngangsstrømmen

Eksempel: InputStream ved hjelp av FileInputStream

Slik kan vi implementere InputStreamved hjelp av FileInputStreamklassen.

Anta at vi har en fil som heter input.txt med følgende innhold.

 This is a line of text inside the file. 

La oss prøve å lese denne filen ved hjelp av FileInputStream(en underklasse av 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(); ) ) ) 

Produksjon

 Available bytes in the file: 35 Data read from the file: This is a line of text inside the file 

I eksemplet ovenfor har vi opprettet en inngangsstrøm ved bruk av FileInputStreamklassen. Inngangsstrømmen er koblet til filen input.txt .

 InputStream input = new FileInputStream("input.txt"); 

For å lese data fra input.txt- filen har vi implementert disse to metodene.

 input.read(array); // to read data from the input stream input.close(); // to close the input stream 

For å lære mer, besøk Java InputStream (offisiell Java-dokumentasjon).

Interessante artikler...