Die ByteArrayInputStream-Klasse besteht aus zwei Phasen: Byte Array und einer für Input Stream. Byte Array spielt eine entscheidende Rolle bei der Speicherung der wichtigen Daten und der erforderlichen Bytes in Bezug auf den Eingabestream. Die Java-Klasse ByteArrayInputStream besteht aus dem internen Puffer, der für das Lesen des Byte-Arrays als Stream verantwortlich ist. Das Byte-Array übergibt die einzuspeisenden Daten als Eingabestream. Wenn diese Daten im Puffer vorhanden sind, werden sie erhöht. Das Durchsuchen und Abrufen von Daten wird mit dieser Klasse flexibel und nahtlos.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Syntax:
public class ByteArrayInputStream extends InputStream
Als Teil des Java ByteArrayInputStream ist der Ausführungsablauf wie folgt:
Eine öffentliche Klasse von ByteArrayInputStream wird deklariert, die die Schnittstelle als Medium für die Interaktion mit dem Stream erweitert, der mit dem InputStream bereitgestellt wird.
Die Funktionsweise von ByteArrayInputStream ist recht einfach. Das Hauptprinzip besteht darin, das Byte-Array nahtlos in den Eingabestream umzuwandeln. Ein zusätzlicher Vorteil dieser Klasse besteht darin, dass der Puffer sicherstellt, dass das aus der API bestehende java.io.ByteArrayInput-Paket es Ihnen ermöglicht, die Daten aus Byte-Arrays als Streams des Byte-Arrays zu lesen, die dann in den Eingabestream umgewandelt werden in den Puffer eingespeist werden. Der ByteArrayInputstream ist eine Unterklasse der InputStream-Klasse. Daher kann der ByteArrayInputStream als InputStream verwendet werden. Wenn die Daten in einem Array als Eingabestream angeordnet und gespeichert werden, kann dieser in ein Byte-Array verpackt und problemlos in einen Stream umgewandelt werden. Sobald das ByteArrayInputStream-Objekt bereit ist, kann eine Liste von Hilfsmethoden zum Lesen und Ausführen von Vorgängen im Stream verwendet werden.
Die folgenden Konstruktoren werden zur Unterstützung der ByteArrayInputStream-Klasse von Java verwendet.
ByteArrayInputStream[byte a]
Als Teil des Java ByteArrayInputStream funktioniert dieser Konstruktor so, dass er zum Akzeptieren eines vorbereiteten Satzes des Byte-Arrays verwendet wird, insbesondere als Parameter im Speicher des internen Puffers, der als Teil des Pakets und der Klasse vorhanden ist.
ByteArrayInputStream(byte [] a, int off, int len)
Dieser Konstruktor als Teil der Java-Klasse ByteArrayInputStream übergibt drei Argumente als Parameter aus dem Stream, der das Byte-Array, die Ganzzahl aus und die Länge der definierten Ganzzahl berücksichtigt, und der Fluss behält auch die Reihenfolge bei, wenn er als eingegeben wird Eingabe in den Speicher des Puffers, was bedeutet, dass zuerst das Byte-Array a[], dann zwei ganzzahlige Werte, wobei off Ist das erste zu lesende Byte, gefolgt von der Länge der Anzahl der zu lesenden Bytes.
Unten sind die Methoden von Java ByteArrayInputStream:
Diese Methode ist Teil der ByteArrayInputStream-Klasse und wird zum Lesen des nächsten verfügbaren Bytes im bereits fließenden Eingabestream verwendet, der einen int-Typ im Bereich von 0-255 zurückgibt. Wenn im Puffer kein Byte als Eingabestream vorhanden ist, ist er an ein Ende des Streams zurückgekehrt, das -1 als Wert zurückgibt.
Diese Methode liest die Bytes bis zur Länge der Anzahl der Bytes, beginnend mit dem Off, aus dem Eingabestream in ein Array und gibt die Gesamtzahl der Bytes zurück, bis das letzte Byte von -1 zurückgegeben wird.
Als Teil der ByteArrayInputStream-Klasse wird diese Methode zum Lesen und Bestätigen der Gesamtzahl der Bytes verwendet, die vom Eingabestream zum Lesen verfügbar sind.
Als Teil der ByteArrayInputStream-Klasse wird diese Methode zum Markieren und Festlegen der aktuellen Position des Eingabestreams verwendet. Grundsätzlich wird ein Leselimit festgelegt, um die maximale Anzahl von Bytes zu erhalten, die gelesen werden können, bevor das markierte Limit ungültig wird.
Als Teil der ByteArrayInputStream-Klasse wird diese Methode verwendet, um die Anzahl der Bytes im Eingabestream als Argument für die Methode zu überspringen.
Diese Methode wird verwendet, um den Eingabestream zu testen, ob er den markierten Grenzwert unterstützt oder ohne dessen Anwesenheit funktioniert. Es gibt eine Besonderheit: Immer wenn diese Markierung unterstützt wird, wird sie als Methode verwendet. es gibt einen Wert zurück, der immer wahr ist.
This method is used to reset the position of the marker as it is provoked by the mark() method. The added advantage is to reposition and reset the marker for traversing.
This method plays a crux to release all the resources once close. When It gets called, the input stream gets closed, and the stream gets associated with the garbage collector.
Below are the examples of Java ByteArrayInputStream:
This program is used to illustrate the read() method byte by byte in ByteArrayInputStream.
Code:
import java.io.*; public class Input_Buffer_Stream1 { public static void main(String[] args) throws Exception { byte guava = 0; byte pine = 0; byte kiwi = 0; byte orange = 0; byte[] buffr = {guava, pine, kiwi,orange}; ByteArrayInputStream fruits = new ByteArrayInputStream(buffr); int k = 0; while((k=fruits.read())!=-1) { System.out.println("These fruits are really tasty and relising to have & Its the time to have ad enjoy!"); } } }
Output:
This program illustrates the available method of ByteArrayInputStream.
Code :
import java.io.ByteArrayInputStream; public class Input_Buffer_Stream2 { public static void main(String[] args) { byte[] buffr= {20,22}; ByteArrayInputStream bytes = new ByteArrayInputStream(buffr); int bytes_Available = bytes.available(); System.out.println("no of bytes available:" + bytes_Available); } }
Output:
This program illustrates the mark method of the ByteArrayInputStream class.
Code:
import java.io.ByteArrayInputStream; public class Input_Buffer_Stream3 { public static void main(String[] args) { byte[] buffr= {20,22,19,10}; ByteArrayInputStream bytes_arr = new ByteArrayInputStream(buffr); bytes_arr.mark(0); System.out.println("These are the marked bytes of the stream:" + bytes_arr); } }
Output:
This program illustrates the skip method of the ByteArrayInputStream class.
Code :
import java.io.ByteArrayInputStream; public class Input_Buffer_Stream4 { public static void main(String[] args) throws Exception { byte[] buffr= {20,22,18,10}; ByteArrayInputStream learning = null; learning = new ByteArrayInputStream(buffr); long num = learning.skip(1); System.out.println("Char : "+(char)learning.read()); } }
Output:
This program illustrates the boolean mark supported method of the ByteArrayInputStream class.
Code :
import java.io.ByteArrayInputStream; public class Input_Buffer_Stream_5 { public static void main(String[] args) { byte[] buff = {15, 18, 20, 40, 52}; ByteArrayInputStream educba = null; educba = new ByteArrayInputStream(buff); boolean checker = educba.markSupported(); System.out.println("\n mark is supported for : "+ checker ); } }
Output:
This program illustrates the presence of boolean mark, reset, and close method of the ByteArrayInputStream class.
Code:
import java.io.ByteArrayInputStream; import java.io.IOException; public class Input_Buffer_Stream_5 { public static void main(String[] args) { byte[] buff = {15, 18, 20, 40, 52}; ByteArrayInputStream educba = null; educba = new ByteArrayInputStream(buff); boolean checker = educba.markSupported(); System.out.println("\n mark is supported for : "+ checker ); if(educba.markSupported()) { educba.reset(); System.out.println("\n supports for the marking limit once reset"); System.out.println("Char : "+(char)educba.read()); } else { System.out.println("It is not supporting the positioning using reset method"); } System.out.println("educba.markSupported() supported reset() : "+checker); if(educba!=null) { try { educba.close(); } catch (IOException e) { e.printStackTrace(); } } } } <strong>Output:</strong>
Java ByteArrayInputStream is a class that has a lot of capability and versatility to play around with the arrays in the internal buffer, which is the beauty of the class. It does not require any external class or plugin to support its base methods which work with a lot of functionality. ByteArrayInputStream together forms a perfect combination to feed the input and output stream related data.
Das obige ist der detaillierte Inhalt vonJava ByteArrayInputStream. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!