SubStream Klasse
- java.
lang. Object - InputStream
- com.
microsoft. azure. storage. blob. SubStream
- com.
public class SubStream
Zusammenfassung zum Konstruktor
Konstruktor | Beschreibung |
---|---|
SubStream(InputStream source, long startIndex, long streamLength, Object lock) |
Erstellt einen neuen Unterstream instance, der den umschlossenen Stream von bis zu partitioniert. Jeder Teilstrom instance, der denselben zugrunde liegenden umschließt, muss den gleichen gegenseitigen Ausschluss aufweisen, um Racebedingungen durch gleichzeitige Vorgänge zu vermeiden. |
Methodenzusammenfassung
Modifizierer und Typ | Methode und Beschreibung |
---|---|
void |
close()
Schließt den Teilstrom. |
InputStream | getInputStream() |
long | getLength() |
synchronized void |
mark(int readlimit)
Markiert die aktuelle Position im Teilstream. Bei einem nachfolgenden Aufruf der -Methode wird der Stream an dieser gespeicherten Position neu positioniert. |
boolean |
markSupported()
Die Substream-Wrapperklasse ist nur mit markierbaren Eingabedatenströmen kompatibel und gibt daher immer true zurück. Diese Anforderung wird im Klassenkonstruktor erzwungen. |
int |
read()
Liest das nächste Byte der Daten aus dem umschlossenen Stream. Das Wertbyte wird als im Bereich von zurückgegeben. Wenn kein Byte verfügbar ist, weil das Ende des Teilstreams erreicht wurde, wird der Wert zurückgegeben. Diese Methode blockiert, bis Eingabedaten verfügbar sind, das Ende des Datenstroms erkannt oder eine Ausnahme ausgelöst wird. |
synchronized int |
read(byte[] b)
Liest eine bestimmte Anzahl von Bytes aus dem umschlossenen Stream und speichert sie im Pufferarray . Die Anzahl der tatsächlich gelesenen Bytes wird als ganze Zahl zurückgegeben. Diese Methode blockiert, bis Eingabedaten verfügbar sind, das Dateiende erkannt wird oder eine Ausnahme ausgelöst wird. Wenn die Länge von null ist, werden keine Bytes gelesen und zurückgegeben. Andernfalls wird versucht, mindestens ein Byte zu lesen. Wenn kein Byte verfügbar ist, weil sich der Teilstrom am Ende der Datei befindet, wird der Wert zurückgegeben. Andernfalls wird mindestens ein Byte gelesen und in gespeichert. Das erste gelesene Byte wird im -Element gespeichert, das nächste in , usw. Die Anzahl der gelesenen Bytes entspricht höchstens der Länge von . Lassen Sie k die Anzahl der tatsächlich gelesenen Bytes sein; Diese Bytes werden in Elementen über k gespeichert, sodass elemente k bis nicht betroffen bleiben. Die -Methode für die -Klasse hat die gleiche Auswirkung wie: |
synchronized int |
read(byte[] b, int off, int len)
Liest bis zu Bytes von Daten aus dem Teilstream. Puffert Daten aus dem umschlossenen Stream, um den Aufwand für Überspringen und Lesen zu minimieren. Der Wrappedstream wird nur aufgerufen, wenn der readBuffer die Leseanforderung nicht erfüllen kann. Um gültige Ergebnisse sicherzustellen, muss der umschlossene Stream vor dem Lesen aus dem Teilstream markiert werden. Dadurch können wir auf die relative Teilstreamposition im umschlossenen Stream zurücksetzen. Die Anzahl der tatsächlich gelesenen Bytes wird als ganze Zahl zurückgegeben. Alle diese Vorgänge werden synchron innerhalb einer systeminternen Sperre ausgeführt, um sicherzustellen, dass andere gleichzeitige Anforderungen von Substreaminstanzen nicht zu Racebedingungen führen. Der zugrunde liegende Aufruf des Lesevorgangs des umschlossenen Streams blockiert, bis Eingabedaten verfügbar sind, das Dateiende erkannt wird oder eine Ausnahme ausgelöst wird. Wenn null ist, werden keine Bytes gelesen und zurückgegeben. Andernfalls wird versucht, mindestens ein Byte zu lesen. Wenn kein Byte verfügbar ist, weil sich der Teilstream am Ende der Datei befindet, wird der Wert zurückgegeben. Andernfalls wird mindestens ein Byte gelesen und in gespeichert. |
synchronized void |
reset()
Positioniert die Position des Teilstroms in den Index, an dem die Methode zuletzt aufgerufen wurde. Die neue Zurücksetzungsposition im Substream wird erst wirksam, wenn nachfolgende Lesevorgänge durchgeführt werden. |
long |
skip(long n)
Erhöht die aktuelle Position des Teilstroms um . Die -Methode ruft die zugrunde liegende Methode der umschlossenen Streamklasse nicht auf. Das tatsächliche Überspringen von Bytes wird bei nachfolgenden Lesevorgängen für Teilstreams berücksichtigt. |
Details zum Konstruktor
SubStream
public SubStream(InputStream source, long startIndex, long streamLength, Object lock)
Erstellt einen neuen Unterstream instance, der den umschlossenen Stream von bis zu partitioniert. Jeder Teilstrom instance, der denselben zugrunde liegenden umschließt, muss den gleichen gegenseitigen Ausschluss aufweisen, um Racebedingungen durch gleichzeitige Vorgänge zu vermeiden.
Parameters:
Details zur Methode
close
public void close()
Schließt den Teilstrom.
getInputStream
public InputStream getInputStream()
getLength
public long getLength()
mark
public synchronized void mark(int readlimit)
Markiert die aktuelle Position im Teilstream. Bei einem nachfolgenden Aufruf der -Methode wird der Stream an dieser gespeicherten Position neu positioniert.
Parameters:
markSupported
public boolean markSupported()
Die Substream-Wrapperklasse ist nur mit markierbaren Eingabedatenströmen kompatibel und gibt daher immer true zurück. Diese Anforderung wird im Klassenkonstruktor erzwungen.
Returns:
true
read
public int read()
Liest das nächste Byte der Daten aus dem umschlossenen Stream. Das Wertbyte wird als im Bereich von zurückgegeben. Wenn kein Byte verfügbar ist, weil das Ende des Teilstreams erreicht wurde, wird der Wert zurückgegeben. Diese Methode blockiert, bis Eingabedaten verfügbar sind, das Ende des Datenstroms erkannt oder eine Ausnahme ausgelöst wird.
Returns:
-1
, wenn das Ende des Teilstroms erreicht ist.Throws:
read
public synchronized int read(byte[] b)
Liest eine bestimmte Anzahl von Bytes aus dem umschlossenen Stream und speichert sie im Pufferarray . Die Anzahl der tatsächlich gelesenen Bytes wird als ganze Zahl zurückgegeben. Diese Methode blockiert, bis Eingabedaten verfügbar sind, das Dateiende erkannt wird oder eine Ausnahme ausgelöst wird.
Wenn die Länge von null ist, werden keine Bytes gelesen und zurückgegeben. Andernfalls wird versucht, mindestens ein Byte zu lesen. Wenn kein Byte verfügbar ist, weil sich der Teilstrom am Ende der Datei befindet, wird der Wert zurückgegeben. Andernfalls wird mindestens ein Byte gelesen und in gespeichert.
Das erste gelesene Byte wird im -Element gespeichert, das nächste in , usw. Die Anzahl der gelesenen Bytes entspricht höchstens der Länge von . Lassen Sie k die Anzahl der tatsächlich gelesenen Bytes sein; Diese Bytes werden in Elementen über k gespeichert, sodass elemente k bis nicht betroffen bleiben.
Die -Methode für die -Klasse hat die gleiche Auswirkung wie:
Parameters:
Returns:
-1
wenn keine weiteren Daten vorhanden sind, weil das Ende des Datenstroms erreicht wurde.Throws:
b
gleich null
ist.
read
public synchronized int read(byte[] b, int off, int len)
Liest bis zu Bytes von Daten aus dem Teilstream. Puffert Daten aus dem umschlossenen Stream, um den Aufwand für Überspringen und Lesen zu minimieren. Der Wrappedstream wird nur aufgerufen, wenn der readBuffer die Leseanforderung nicht erfüllen kann. Um gültige Ergebnisse sicherzustellen, muss der umschlossene Stream vor dem Lesen aus dem Teilstream markiert werden. Dadurch können wir auf die relative Teilstreamposition im umschlossenen Stream zurücksetzen. Die Anzahl der tatsächlich gelesenen Bytes wird als ganze Zahl zurückgegeben. Alle diese Vorgänge werden synchron innerhalb einer systeminternen Sperre ausgeführt, um sicherzustellen, dass andere gleichzeitige Anforderungen von Substreaminstanzen nicht zu Racebedingungen führen.
Der zugrunde liegende Aufruf des Lesevorgangs des umschlossenen Streams blockiert, bis Eingabedaten verfügbar sind, das Dateiende erkannt wird oder eine Ausnahme ausgelöst wird.
Wenn null ist, werden keine Bytes gelesen und zurückgegeben. Andernfalls wird versucht, mindestens ein Byte zu lesen. Wenn kein Byte verfügbar ist, weil sich der Teilstream am Ende der Datei befindet, wird der Wert zurückgegeben. Andernfalls wird mindestens ein Byte gelesen und in gespeichert.
Parameters:
b
, an dem die Daten geschrieben werden.
Returns:
-1
wenn keine weiteren Daten vorhanden sind, weil das Ende des Datenstroms erreicht wurde.Throws:
b
gleich null
ist.
off
negativ, len
negativ oder len
größer als ist b.length - off
reset
public synchronized void reset()
Positioniert die Position des Teilstroms in den Index, an dem die Methode zuletzt aufgerufen wurde.
Die neue Zurücksetzungsposition im Substream wird erst wirksam, wenn nachfolgende Lesevorgänge durchgeführt werden.
skip
public long skip(long n)
Erhöht die aktuelle Position des Teilstroms um . Die -Methode ruft die zugrunde liegende Methode der umschlossenen Streamklasse nicht auf. Das tatsächliche Überspringen von Bytes wird bei nachfolgenden Lesevorgängen für Teilstreams berücksichtigt.
Parameters:
Returns:
Gilt für:
Azure SDK for Java