English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base Java

Contrôle de flux Java

Java tableau

Java orienté objet (I)

Java orienté objet (II)

Java orienté objet (III)

Gestion des exceptions Java

Java List

Java Queue (file d'attente)

Java Map collections

Java Set collections

Java entrée/sortie (I/O)

Java Reader/Writer

Autres sujets Java

Java InputStream class

Dans ce tutoriel, nous allons apprendre la classe InputStream de Java et ses méthodes à travers un exemple.

La classe InputStream de l'ensemble java.io est une super-classe abstraite, qui représente un flux d'entrée de bytes.

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

Sous-classes de InputStream

Pour utiliser les fonctionnalités d'InputStream, nous pouvons utiliser ses sous-classes. Ses sous-classes incluent :

Dans le prochain tutoriel, nous allons apprendre tous ces sous-classes.

Créer un InputStream

Pour créer un InputStream, nous devons d'abord importer le paquet java.io.InputStream. Après avoir importé le paquet, nous pouvons créer un flux d'entrée.

// Créer un InputStream
InputStream object1 = new FileInputStream();

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

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

Méthodes de InputStream

La classe InputStream fournit différentes méthodes implémentées par ses sous-classes. Voici quelques méthodes couramment utilisées

  • read(); - Lire un octet de données à partir du flux d'entrée

  • read(byte[] array); - Lire des octets à partir du flux et les stocker dans un tableau spécifié

  • available(); - Retourner le nombre d'octets disponibles dans le flux d'entrée

  • mark(); - Marquer la position des données dans le flux d'entrée

  • reset(); -Retourner le point de contrôle au point de marque dans le flux

  • markSupported();- Vérifier si le flux prend en charge les méthodes mark() et reset()

  • skips(); - Sauter et ignorer un certain nombre d'octets dans le flux d'entrée

  • close(); - Close the input stream

Exemple : utilisation de InputStream avec FileInputStream

Voici la mise en œuvre de la méthode InputStream par la classe FileInputStream.

Supposons que nous ayons un fichier nomméinput.txtle fichier, qui contient le contenu suivant.

This is a line of text in the file.

Essayons d'utiliser FileInputStream (sous-classe de InputStream) pour lire ce fichier.

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("Octets disponibles dans le fichier:"); + input.available());
            //Lire les octets à partir du flux d'entrée
            input.read(array);
            System.out.println("Lecture des données depuis le fichier:");
            //Convert the byte array to a string
            String data = new String(array);
            System.out.println(data);
            //Close the input stream
            input.close();
        }
        catch (Exception e) {
            e.getStackTrace();
        }
    }
}

Output result

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

In the above example, we created an input stream using the FileInputStream class. The input stream is associated with the fileinput.txtlink.

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

To read frominput.txtWe have implemented these two methods to read data from the file.

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