Heim  >  Artikel  >  Java  >  Java ByteArrayInputStream

Java ByteArrayInputStream

WBOY
WBOYOriginal
2024-08-30 16:09:13702Durchsuche

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.

Wie funktioniert die ByteArrayInputStream-Klasse in Java?

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.

Konstruktor von Java ByteArrayInputStream

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.

Methoden von Java ByteArrayInputStream

Unten sind die Methoden von Java ByteArrayInputStream:

  1. public int read()
  2. public int read(byte[] r, int off, int len)
  3. public int available()
  4. Public Void Mark (int read)
  5. öffentlicher langer Sprung (langes n)
  6. public boolean markSupported()
  7. public void reset()
  8. public void close()

1. public int read()

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.

2. public int read(byte[] r, int off, int len)

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.

3. public int available()

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.

4. öffentliches Nichtigkeitszeichen (int read)

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.

5. öffentlicher langer Sprung (langes n)

Als Teil der ByteArrayInputStream-Klasse wird diese Methode verwendet, um die Anzahl der Bytes im Eingabestream als Argument für die Methode zu überspringen.

6. öffentliches boolesches markSupported()

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.

7. public void reset()

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.

8. public void close()

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.

Examples to Implement of Java ByteArrayInputStream

Below are the examples of Java ByteArrayInputStream:

Example #1

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:

Java ByteArrayInputStream

Example #2

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:

Java ByteArrayInputStream

Example #3

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:

Java ByteArrayInputStream

Example #4

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:

Java ByteArrayInputStream

Example #5

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:

Java ByteArrayInputStream

Example #6

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

Conclusion

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Java BufferedInputStreamNächster Artikel:Java BufferedInputStream