Java InputStream (med eksempel)

I denne vejledning lærer vi om Java InputStream-klassen og dens metoder ved hjælp af et eksempel.

Pakkenes InputStreamklasse java.ioer en abstrakt superklasse, der repræsenterer en inputstrøm af bytes.

Da det InputStreamer en abstrakt klasse, er den ikke nyttig i sig selv. Dens underklasser kan dog bruges til at læse data.

Underklasser af InputStream

For at bruge funktionaliteten af InputStreamkan vi bruge dens underklasser. Nogle af dem er:

  • FileInputStream
  • ByteArrayInputStream
  • ObjectInputStream

Vi lærer om alle disse underklasser i den næste vejledning.

Opret en InputStream

For at oprette en InputStream skal vi først importere java.io.InputStreampakken. Når vi først har importeret pakken, kan du oprette inputstrømmen her.

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

Her har vi oprettet en inputstrøm ved hjælp af FileInputStream. Det er fordi det InputStreamer en abstrakt klasse. Derfor kan vi ikke skabe et objekt af InputStream.

Bemærk : Vi kan også oprette en inputstrøm fra andre underklasser af InputStream.

Metoder til InputStream

Den InputStreamklasse giver forskellige metoder, der er gennemført af dens underklasser. Her er nogle af de almindeligt anvendte metoder:

  • read() - læser en byte data fra inputstrømmen
  • read(byte() array) - læser bytes fra strømmen og gemmer i det angivne array
  • available() - returnerer antallet af tilgængelige byte i inputstrømmen
  • mark() - markerer positionen i inputstrømmen, op til hvilken data er blevet læst
  • reset() - returnerer kontrolelementet til det punkt i strømmen, hvor mærket blev sat
  • markSupported()- kontrollerer, om mark()og reset()metoden er understøttet i åen
  • skips() - springer over og kasserer det specificerede antal bytes fra inputstrømmen
  • close() - lukker inputstrømmen

Eksempel: InputStream ved hjælp af FileInputStream

Her er hvordan vi kan implementere InputStreamved hjælp af FileInputStreamklassen.

Antag, at vi har en fil med navnet input.txt med følgende indhold.

 This is a line of text inside the file. 

Lad os prøve at læse denne fil ved hjælp af FileInputStream(en underklasse af 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(); ) ) ) 

Produktion

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

I ovenstående eksempel har vi oprettet en inputstrøm ved hjælp af FileInputStreamklassen. Inputstrømmen er knyttet til filen input.txt .

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

For at læse data fra filen input.txt har vi implementeret disse to metoder.

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

For at lære mere, besøg Java InputStream (officiel Java-dokumentation).

Interessante artikler...