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

Tutorial di Base Java

Controllo dei flussi Java

Array Java

Programmazione orientata agli oggetti Java (I)

Programmazione orientata agli oggetti Java (II)

Programmazione orientata agli oggetti Java (III)

Gestione delle Eccezioni Java

Lista Java (List)

Queue (coda) Java

Map di Java

Set di Java

Input/Output (I/O) Java

Reader/Writer Java

Altri argomenti Java

Java InputStream classe

In questo tutorial, impareremo la classe InputStream Java e i suoi metodi attraverso un esempio.

La classe InputStream del pacchetto java.io è una superclasse astratta che rappresenta lo stream di input di byte.

Poiché InputStream è una classe astratta, non è utile da solo. Ma le sue sottoclassi possono essere utilizzate per leggere dati.

Sottoclassi di InputStream

Per utilizzare le funzionalità di InputStream, possiamo utilizzare le sue sottoclassi. Le sue sottoclassi includono:

Nel prossimo tutorial, impareremo tutte queste sottoclassi.

Creare un InputStream

Per creare un InputStream, dobbiamo prima importare il pacchetto java.io.InputStream. Dopo aver importato il pacchetto, possiamo creare l'input stream.

//Creare un InputStream
InputStream object1 = new FileInputStream();

In questo caso, abbiamo creato un input stream utilizzando FileInputStream. Questo è perché InputStream è una classe astratta. Pertanto, non possiamo creare un oggetto InputStream.

Attenzione:Possiamo anche creare un input stream da altri sottoclassi di InputStream.

Metodi di InputStream

La classe InputStream fornisce diversi metodi implementati dalle sue sottoclassi. Ecco alcuni metodi comuni

  • read() - Leggere un byte di dati dall'input stream

  • read(byte[] array) - Leggere byte dallo stream e memorizzarli nell'array specificato

  • available() - Restituire il numero di byte disponibili nello stream di input

  • mark() - Marcare la posizione dei dati nello stream di input

  • reset() - Portare il punto di controllo dello stream al punto di mark

  • markSupported() - Controllare se lo stream supporta i metodi mark() e reset()

  • skips() - Saltare e scartare un numero specifico di byte dall'input stream

  • close() - Chiudere l'input stream

Esempio: Utilizzo di InputStream con FileInputStream

Ecco come implementare il metodo InputStream utilizzando la classe FileInputStream.

Supponiamo di avere un file chiamatoinput.txtIl file contiene il seguente contenuto.

Questa è una riga di testo nel file.

Proviamo a leggere questo file utilizzando FileInputStream (sottoclasse di 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("Byte disponibili nel file: "+input.available());
            //Leggere byte dall'input stream
            input.read(array);
            System.out.println("Dati letti dal file: ");
            //Convertire un array di byte in una stringa
            String data = new String(array);
            System.out.println(data);
            //Chiudi il flusso di input
            input.close();
        }
        catch (Exception e) {
            e.getStackTrace();
        }
    }
}

Risultato di output

Byte disponibili nel file: 35
Dati letti dal file:
Questa è una riga di testo nel file.

Nell'esempio sopra, abbiamo creato un flusso di input utilizzando la classe FileInputStream. Il flusso di input è collegato al fileinput.txtcollegamento.

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

Per leggereinput.txtAbbiamo implementato questi due metodi per leggere dati dal file.

input.read(array);      //Leggi dati dal flusso di input
input.close();             //Chiudi il flusso di input