Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java InputStream-klasse

Java InputStream-klasse

In deze zelfstudie leren we over de Java InputStream-klasse en zijn methoden aan de hand van een voorbeeld.

De InputStream klasse van de java.io package is een abstracte superklasse die een invoerstroom van bytes vertegenwoordigt.

Sinds InputStream een abstracte klasse is, is het op zichzelf niet nuttig. De subklassen ervan kunnen echter worden gebruikt om gegevens te lezen.


Subklassen van InputStream

Om de functionaliteit van InputStream . te gebruiken , kunnen we zijn subklassen gebruiken. Sommigen van hen zijn:

  • FileInputStream
  • ByteArrayInputStream
  • ObjectInputStream

We zullen over al deze subklassen leren in de volgende tutorial.


Maak een InputStream

Om een ​​InputStream te maken, moeten we de java.io.InputStream . importeren pakket eerst. Zodra we het pakket hebben geïmporteerd, kunnen we als volgt de invoerstroom maken.

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

Hier hebben we een invoerstroom gemaakt met behulp van FileInputStream . Het is omdat InputStream is een abstracte klasse. Daarom kunnen we geen object van InputStream . maken .

Opmerking :We kunnen ook een invoerstroom maken van andere subklassen van InputStream .


Methoden van InputStream

De InputStream class biedt verschillende methoden die worden geïmplementeerd door zijn subklassen. Hier zijn enkele veelgebruikte methoden:

  • read() - leest één byte aan gegevens uit de invoerstroom
  • read(byte[] array) - leest bytes uit de stream en slaat op in de opgegeven array
  • available() - geeft het aantal bytes terug dat beschikbaar is in de invoerstroom
  • mark() - markeert de positie in de invoerstroom tot waar gegevens zijn gelezen
  • reset() - brengt de besturing terug naar het punt in de stream waar de markering was ingesteld
  • markSupported() - controleert of de mark() en reset() methode wordt ondersteund in de stream
  • skips() - slaat het opgegeven aantal bytes over en verwijdert het uit de invoerstroom
  • close() - sluit de invoerstroom

Voorbeeld:InputStream met FileInputStream

Hier is hoe we InputStream kunnen implementeren met behulp van de FileInputStream klasse.

Stel dat we een bestand hebben met de naam input.txt met de volgende inhoud.

This is a line of text inside the file.

Laten we proberen dit bestand te lezen met FileInputStream (een subklasse van InputStream ).

import java.io.FileInputStream;
import java.io.InputStream;

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();
    }
  }
}

Uitvoer

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

In het bovenstaande voorbeeld hebben we een invoerstroom gemaakt met behulp van de FileInputStream klas. De invoerstroom is gekoppeld aan het bestand input.txt .

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

Gegevens lezen van de input.txt bestand, hebben we deze twee methoden geïmplementeerd.

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

Ga voor meer informatie naar Java InputStream (officiële Java-documentatie).


Java

  1. Java laatste trefwoord
  2. Java-instantie van Operator
  3. Java-erfenis
  4. Java geneste statische klasse
  5. Java anonieme klasse
  6. Java Singleton-klasse
  7. Java-reflectie
  8. Java ObjectOutputStream-klasse
  9. Java-scannerklasse
  10. Java-generieken
  11. Java-bestandsklasse