English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
Per utilizzare le funzionalità di InputStream, possiamo utilizzare le sue sottoclassi. Le sue sottoclassi includono:
Nel prossimo tutorial, impareremo tutte queste sottoclassi.
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.
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
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