Java InputStream-Klasse
Java InputStream-Klasse
In diesem Tutorial lernen wir die Java-Klasse InputStream und ihre Methoden anhand eines Beispiels kennen.
Der InputStream
Klasse der java.io
Paket ist eine abstrakte Oberklasse, die einen Eingabestrom von Bytes darstellt.
Seit InputStream
eine abstrakte Klasse ist, ist sie für sich genommen nicht nützlich. Seine Unterklassen können jedoch zum Lesen von Daten verwendet werden.
Unterklassen von InputStream
Um die Funktionalität von InputStream
zu nutzen , können wir seine Unterklassen verwenden. Einige davon sind:
- FileInputStream
- ByteArrayInputStream
- ObjectInputStream
Wir werden all diese Unterklassen im nächsten Tutorial kennenlernen.
Einen InputStream erstellen
Um einen InputStream zu erstellen, müssen wir den java.io.InputStream
importieren Paket zuerst. Sobald wir das Paket importiert haben, können wir wie folgt den Eingabestream erstellen.
// Creates an InputStream
InputStream object1 = new FileInputStream();
Hier haben wir einen Eingabestrom mit FileInputStream
erstellt . Das liegt daran, dass InputStream
ist eine abstrakte Klasse. Daher können wir kein Objekt von InputStream
erstellen .
Hinweis Hinweis:Wir können auch einen Eingabestrom aus anderen Unterklassen von InputStream
erstellen .
Methoden von InputStream
Die InputStream
Klasse stellt verschiedene Methoden bereit, die von ihren Unterklassen implementiert werden. Hier sind einige der am häufigsten verwendeten Methoden:
read()
- liest ein Datenbyte aus dem Eingabestromread(byte[] array)
- liest Bytes aus dem Stream und speichert sie im angegebenen Arrayavailable()
- gibt die Anzahl der im Eingabestrom verfügbaren Bytes zurückmark()
- markiert die Position im Eingabestrom, bis zu der Daten gelesen wurdenreset()
- gibt das Steuerelement an den Punkt im Stream zurück, an dem die Markierung gesetzt wurdemarkSupported()
- prüft, obmark()
undreset()
-Methode wird im Stream unterstütztskips()
- überspringt und verwirft die angegebene Anzahl von Bytes aus dem Eingabestromclose()
- Schließt den Eingabestrom
Beispiel:InputStream mit FileInputStream
So können wir InputStream
implementieren mit dem FileInputStream
Klasse.
Angenommen, wir haben eine Datei namens input.txt mit folgendem Inhalt.
This is a line of text inside the file.
Versuchen wir, diese Datei mit FileInputStream
zu lesen (eine Unterklasse von 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();
}
}
}
Ausgabe
Available bytes in the file: 39
Data read from the file:
This is a line of text inside the file
Im obigen Beispiel haben wir einen Eingabestream mit dem FileInputStream
erstellt Klasse. Der Eingabestream wird mit der Datei input.txt verknüpft .
InputStream input = new FileInputStream("input.txt");
Zum Lesen von Daten aus der input.txt Datei haben wir diese beiden Methoden implementiert.
input.read(array); // to read data from the input stream
input.close(); // to close the input stream
Um mehr zu erfahren, besuchen Sie Java InputStream (offizielle Java-Dokumentation).
Java