Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Java

Classe Java InputStream

Classe Java InputStream

Dans ce didacticiel, nous allons découvrir la classe Java InputStream et ses méthodes à l'aide d'un exemple.

Le InputStream classe du java.io package est une superclasse abstraite qui représente un flux d'entrée d'octets.

Depuis InputStream est une classe abstraite, elle n'est pas utile en elle-même. Cependant, ses sous-classes peuvent être utilisées pour lire des données.

Sous-classes de InputStream

Pour utiliser la fonctionnalité de InputStream , nous pouvons utiliser ses sous-classes. Certains d'entre eux sont :

  • FileInputStream
  • ByteArrayInputStream
  • ObjectInputStream

Nous découvrirons toutes ces sous-classes dans le prochain tutoriel.

Créer un InputStream

Afin de créer un InputStream, nous devons importer le java.io.InputStream paquet d'abord. Une fois le package importé, voici comment créer le flux d'entrée.

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

Ici, nous avons créé un flux d'entrée en utilisant FileInputStream . C'est parce que InputStream est une classe abstraite. Par conséquent, nous ne pouvons pas créer un objet de InputStream .

Remarque :Nous pouvons également créer un flux d'entrée à partir d'autres sous-classes de InputStream .

Méthodes d'InputStream

Le InputStream fournit différentes méthodes qui sont implémentées par ses sous-classes. Voici quelques-unes des méthodes couramment utilisées :

  • read() - lit un octet de données à partir du flux d'entrée
  • read(byte[] array) - lit les octets du flux et les stocke dans le tableau spécifié
  • available() - renvoie le nombre d'octets disponibles dans le flux d'entrée
  • mark() - marque la position dans le flux d'entrée jusqu'à laquelle les données ont été lues
  • reset() - renvoie le contrôle au point du flux où la marque a été définie
  • markSupported() - vérifie si le mark() et reset() la méthode est prise en charge dans le flux
  • skips() - ignore et supprime le nombre d'octets spécifié du flux d'entrée
  • close() - ferme le flux d'entrée

Exemple :InputStream utilisant FileInputStream

Voici comment nous pouvons implémenter InputStream en utilisant le FileInputStream classe.

Supposons que nous ayons un fichier nommé input.txt avec le contenu suivant.

This is a line of text inside the file.

Essayons de lire ce fichier en utilisant FileInputStream (une sous-classe de 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();
    }
  }
}

Sortie

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

Dans l'exemple ci-dessus, nous avons créé un flux d'entrée en utilisant le FileInputStream classer. Le flux d'entrée est lié au fichier input.txt .

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

Pour lire les données de input.txt fichier, nous avons implémenté ces deux méthodes.

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

Pour en savoir plus, visitez Java InputStream (documentation officielle de Java).


Java

  1. Mot-clé Java final
  2. Opérateur instanceof Java
  3. Classe statique imbriquée Java
  4. Classe anonyme Java
  5. Classe Java Singleton
  6. Réflexion Java
  7. Classe Java ObjectOutputStream
  8. Classe d'analyseur Java
  9. Génériques Java