Freigeben über


BlobInputStream Klasse

  • java.lang.Object
    • InputStream
      • com.microsoft.azure.storage.blob.BlobInputStream

public class BlobInputStream

Stellt einen Eingabestream zum Lesen einer bestimmten Blobressource bereit.

Zusammenfassung zum Konstruktor

Konstruktor Beschreibung
BlobInputStream(final CloudBlob parentBlob, final AccessCondition accessCondition, final BlobRequestOptions options, final OperationContext opContext)

Initialisiert eine neue instance der BlobInputStream-Klasse.

BlobInputStream(long blobRangeOffset, Long blobRangeLength, final CloudBlob parentBlob, final AccessCondition accessCondition, final BlobRequestOptions options, final OperationContext opContext)

Initialisiert eine neue instance der BlobInputStream-Klasse. Beachten Sie, dass wennblobRangeOffset

</code> is not<code>0 

</code> or<code>blobRangeLength 

</code> is not<code>null 

</code> , there will be no content MD5 verification.</p>

Methodenzusammenfassung

Modifizierer und Typ Methode und Beschreibung
synchronized int available()

Gibt eine Schätzung der Anzahl von Bytes zurück, die aus diesem Eingabedatenstrom gelesen (oder übersprungen) werden können, ohne dass durch den nächsten Aufruf einer Methode für diesen Eingabedatenstrom blockiert wird. Der nächste Aufruf kann derselbe Thread oder ein anderer Thread sein. Ein einzelnes Lesen oder Überspringen dieser vielen Bytes wird nicht blockiert, aber möglicherweise weniger Bytes gelesen oder übersprungen.

synchronized void close()

Schließt diesen Eingabedatenstrom und gibt alle Systemressourcen frei, die dem Stream zugeordnet sind.

synchronized void mark(final int readlimit)

Markiert die aktuelle Position in diesem Eingabedatenstrom. Bei einem nachfolgenden Aufruf der Reset-Methode wird dieser Stream an der letzten markierten Position neu positioniert, sodass nachfolgende Lesevorgänge dieselben Bytes erneut lesen.

boolean markSupported()

Testet, ob dieser Eingabedatenstrom die Markierungs- und Zurücksetzungsmethoden unterstützt. Ob Markierung und Zurücksetzung unterstützt werden, ist eine invariante Eigenschaft eines bestimmten Eingabestreams instance. Die markSupported-Methode von InputStream gibt false zurück.

int read()

Liest das nächste Byte der Daten aus dem Eingabedatenstrom. Das Wertbyte wird als int im Bereich von 0 bis 255 zurückgegeben. Wenn kein Byte verfügbar ist, weil das Ende des Datenstroms erreicht wurde, wird der Wert -1 zurückgegeben. Diese Methode blockiert, bis Eingabedaten verfügbar sind, das Ende des Datenstroms erkannt oder eine Ausnahme ausgelöst wird.

int read(final byte[] b)

Liest eine bestimmte Anzahl von Bytes aus dem Eingabedatenstrom 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 0 wird zurückgegeben. Andernfalls wird versucht, mindestens ein Byte zu lesen. Wenn kein Byte verfügbar ist, weil sich der Stream am Ende der Datei befindet, wird der Wert -1 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 die Anzahl der tatsächlich gelesenen Bytes sein; Diese Bytes werden in Elementen über gespeichert, wobei Die Elemente nicht betroffen sind.

Die -Methode für die -Klasse InputStream hat die gleiche Auswirkung wie:

int read(final byte[] b, final int off, final int len)

Liest bis zu Bytes von Daten aus dem Eingabedatenstrom in ein Bytearray. Es wird versucht, bis zu bytes zu lesen, aber möglicherweise wird eine kleinere Zahl gelesen. 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 null ist, werden keine Bytes gelesen, und 0 wird zurückgegeben. Andernfalls wird versucht, mindestens ein Byte zu lesen. Wenn kein Byte verfügbar ist, weil sich der Stream am Ende der Datei befindet, wird der Wert -1 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 ist höchstens gleich . Lassen Sie die Anzahl der tatsächlich gelesenen Bytes sein; Diese Bytes werden in Elementen über gespeichert, wobei Die Elemente nicht betroffen sind.

In jedem Fall sind Elemente durch und Elemente durch nicht betroffen.

Die -Methode für die -Klasse InputStream ruft die -Methode einfach wiederholt auf. Wenn der erste solcher Aufruf zu einem führt, wird diese Ausnahme vom Aufruf der -Methode zurückgegeben. Wenn ein nachfolgender Aufruf von zu einem führt, wird die Ausnahme abgefangen und behandelt, als wäre sie ein Dateiende. Die bis zu diesem Zeitpunkt gelesenen Bytes werden in gespeichert, und die Anzahl der Bytes, die vor dem Auftreten der Ausnahme gelesen wurden, wird zurückgegeben. Die Standardimplementierung dieser Methode blockiert, bis die angeforderte Menge der Eingabedaten gelesen, das Dateiende erkannt oder eine Ausnahme ausgelöst wird. Unterklassen werden empfohlen, eine effizientere Implementierung dieser Methode bereitzustellen.

synchronized void reset()

Positioniert diesen Stream an der Position, an der die mark-Methode zuletzt für diesen Eingabedatenstrom aufgerufen wurde. Beachten Sie, dass durch die Neupositionierung des Bloblesedatenstroms die Blob-MD5-Überprüfung deaktiviert wird.

synchronized long skip(final long n)

Überspringt und verwirft n Bytes Daten aus diesem Eingabedatenstrom. Die Skip-Methode kann aus verschiedenen Gründen eine kleinere Anzahl von Bytes überspringen, möglicherweise 0. Dies kann sich aus einer Reihe von Bedingungen ergeben; Das Erreichen des Dateiendes, bevor n Bytes übersprungen wurden, ist nur eine Möglichkeit. Die tatsächliche Anzahl übersprungener Bytes wird zurückgegeben. Wenn n negativ ist, werden keine Bytes übersprungen.

Beachten Sie, dass durch die Neupositionierung des Bloblesedatenstroms die Blob-MD5-Überprüfung deaktiviert wird.

Details zum Konstruktor

BlobInputStream

protected BlobInputStream(final CloudBlob parentBlob, final AccessCondition accessCondition, final BlobRequestOptions options, final OperationContext opContext)

Initialisiert eine neue instance der BlobInputStream-Klasse.

Parameters:

parentBlob - Ein CloudBlob -Objekt, das das Blob darstellt, dem dieser Stream zugeordnet ist.
accessCondition - Ein AccessCondition -Objekt, das die Zugriffsbedingungen für das Blob darstellt.
options - Ein BlobRequestOptions -Objekt, das alle zusätzlichen Optionen für die Anforderung angibt.
opContext - Ein OperationContext -Objekt, das verwendet wird, um die Ausführung des Vorgangs nachzuverfolgen.

Throws:

StorageException - Eine Ausnahme, die jeden Fehler darstellt, der während des Vorgangs aufgetreten ist.

BlobInputStream

protected BlobInputStream(long blobRangeOffset, Long blobRangeLength, final CloudBlob parentBlob, final AccessCondition accessCondition, final BlobRequestOptions options, final OperationContext opContext)

Initialisiert eine neue instance der BlobInputStream-Klasse. Beachten Sie, dass wennblobRangeOffset

</code> is not<code>0 

</code> or<code>blobRangeLength 

</code> is not<code>null 

</code> , there will be no content MD5 verification.</p>

Parameters:

blobRangeOffset - Der Offset der Blobdaten, die mit dem Stream beginnen sollen.
blobRangeLength - Wie viele Daten der Stream nach blobRangeOffset zurückgeben soll.
parentBlob - Ein CloudBlob -Objekt, das das Blob darstellt, dem dieser Stream zugeordnet ist.
accessCondition - Ein AccessCondition -Objekt, das die Zugriffsbedingungen für das Blob darstellt.
options - Ein BlobRequestOptions -Objekt, das alle zusätzlichen Optionen für die Anforderung angibt.
opContext - Ein OperationContext -Objekt, das verwendet wird, um die Ausführung des Vorgangs nachzuverfolgen.

Throws:

StorageException - Eine Ausnahme, die alle Fehler darstellt, die während des Vorgangs aufgetreten sind.

Details zur Methode

available

public synchronized int available()

Gibt eine Schätzung der Anzahl von Bytes zurück, die aus diesem Eingabedatenstrom gelesen (oder übersprungen) werden können, ohne dass durch den nächsten Aufruf einer Methode für diesen Eingabedatenstrom blockiert wird. Der nächste Aufruf kann derselbe Thread oder ein anderer Thread sein. Ein einzelnes Lesen oder Überspringen dieser vielen Bytes wird nicht blockiert, aber möglicherweise weniger Bytes gelesen oder übersprungen.

Returns:

Ein int , der eine Schätzung der Anzahl von Bytes darstellt, die ohne Blockierung aus diesem Eingabedatenstrom gelesen (oder übersprungen) werden können, oder 0, wenn er das Ende des Eingabedatenstroms erreicht.

Throws:

IOException - Wenn ein E/A-Fehler auftritt.

close

public synchronized void close()

Schließt diesen Eingabedatenstrom und gibt alle Systemressourcen frei, die dem Stream zugeordnet sind.

Throws:

IOException - Wenn ein E/A-Fehler auftritt.

mark

public synchronized void mark(final int readlimit)

Markiert die aktuelle Position in diesem Eingabedatenstrom. Bei einem nachfolgenden Aufruf der Reset-Methode wird dieser Stream an der letzten markierten Position neu positioniert, sodass nachfolgende Lesevorgänge dieselben Bytes erneut lesen.

Parameters:

readlimit - Ein int , der die maximale Anzahl von Bytes darstellt, die gelesen werden können, bevor die Markierungsposition ungültig wird.

markSupported

public boolean markSupported()

Testet, ob dieser Eingabedatenstrom die Markierungs- und Zurücksetzungsmethoden unterstützt. Ob Markierung und Zurücksetzung unterstützt werden, ist eine invariante Eigenschaft eines bestimmten Eingabestreams instance. Die markSupported-Methode von InputStream gibt false zurück.

Returns:

True, wenn dieser Stream instance die Markierungs- und Zurücksetzungsmethoden unterstützt, andernfallsFalse.

read

public int read()

Liest das nächste Byte der Daten aus dem Eingabedatenstrom. Das Wertbyte wird als int im Bereich von 0 bis 255 zurückgegeben. Wenn kein Byte verfügbar ist, weil das Ende des Datenstroms erreicht wurde, wird der Wert -1 zurückgegeben. Diese Methode blockiert, bis Eingabedaten verfügbar sind, das Ende des Datenstroms erkannt oder eine Ausnahme ausgelöst wird.

Returns:

Eine int , die die Gesamtzahl der in den Puffer gelesenen Bytes darstellt, oder -1, wenn keine weiteren Daten vorhanden sind, weil das Ende des Datenstroms erreicht wurde.

Throws:

IOException - Wenn ein E/A-Fehler auftritt.

read

public int read(final byte[] b)

Liest eine bestimmte Anzahl von Bytes aus dem Eingabedatenstrom 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 0 wird zurückgegeben. Andernfalls wird versucht, mindestens ein Byte zu lesen. Wenn kein Byte verfügbar ist, weil sich der Stream am Ende der Datei befindet, wird der Wert -1 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 die Anzahl der tatsächlich gelesenen Bytes sein; Diese Bytes werden in Elementen über gespeichert, wobei Die Elemente nicht betroffen sind.

Die -Methode für die -Klasse InputStream hat die gleiche Auswirkung wie:

Parameters:

b - Ein byte Array, das den Puffer darstellt, in den die Daten gelesen werden.

Throws:

IOException - Wenn das erste Byte aus einem anderen Grund als dem Ende der Datei nicht gelesen werden kann, wenn der Eingabedatenstrom geschlossen wurde oder ein anderer E/A-Fehler auftritt.
NullPointerException - Wenn das byte Array b NULL ist.

read

public int read(final byte[] b, final int off, final int len)

Liest bis zu Bytes von Daten aus dem Eingabedatenstrom in ein Bytearray. Es wird versucht, bis zu bytes zu lesen, aber möglicherweise wird eine kleinere Zahl gelesen. 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 null ist, werden keine Bytes gelesen, und 0 wird zurückgegeben. Andernfalls wird versucht, mindestens ein Byte zu lesen. Wenn kein Byte verfügbar ist, weil sich der Stream am Ende der Datei befindet, wird der Wert -1 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 ist höchstens gleich . Lassen Sie die Anzahl der tatsächlich gelesenen Bytes sein; Diese Bytes werden in Elementen über gespeichert, wobei Die Elemente nicht betroffen sind.

In jedem Fall sind Elemente durch und Elemente durch nicht betroffen.

Die -Methode für die -Klasse InputStream ruft die -Methode einfach wiederholt auf. Wenn der erste solcher Aufruf zu einem führt, wird diese Ausnahme vom Aufruf der -Methode zurückgegeben. Wenn ein nachfolgender Aufruf von zu einem führt, wird die Ausnahme abgefangen und behandelt, als wäre sie ein Dateiende. Die bis zu diesem Zeitpunkt gelesenen Bytes werden in gespeichert, und die Anzahl der Bytes, die vor dem Auftreten der Ausnahme gelesen wurden, wird zurückgegeben. Die Standardimplementierung dieser Methode blockiert, bis die angeforderte Menge der Eingabedaten gelesen, das Dateiende erkannt oder eine Ausnahme ausgelöst wird. Unterklassen werden empfohlen, eine effizientere Implementierung dieser Methode bereitzustellen.

Parameters:

b - Ein byte Array, das den Puffer darstellt, in den die Daten gelesen werden.
off - Ein int , der den Startoffset in dem byte Array darstellt, an dem die Daten geschrieben werden.
len - Ein int , der die maximale Anzahl der zu lesenden Bytes darstellt.

Returns:

Eine int , die die Gesamtzahl der in den Puffer gelesenen Bytes darstellt, oder -1, wenn keine weiteren Daten vorhanden sind, weil das Ende des Datenstroms erreicht wurde.

Throws:

IOException - Wenn das erste Byte aus einem anderen Grund als dem Dateiende nicht gelesen werden kann, oder wenn der Eingabedatenstrom geschlossen wurde oder ein anderer E/A-Fehler auftritt.
NullPointerException - Wenn das byte Array b NULL ist.
IndexOutOfBoundsException - Ist off negativ, len ist negativ oder len größer als b.length - off.

reset

public synchronized void reset()

Positioniert diesen Stream an der Position, an der die mark-Methode zuletzt für diesen Eingabedatenstrom aufgerufen wurde. Beachten Sie, dass durch die Neupositionierung des Bloblesedatenstroms die Blob-MD5-Überprüfung deaktiviert wird.

Throws:

IOException - Wenn dieser Stream nicht markiert wurde oder wenn die Markierung ungültig wurde.

skip

public synchronized long skip(final long n)

Überspringt und verwirft n Bytes Daten aus diesem Eingabedatenstrom. Die Skip-Methode kann aus verschiedenen Gründen eine kleinere Anzahl von Bytes überspringen, möglicherweise 0. Dies kann sich aus einer Reihe von Bedingungen ergeben; Das Erreichen des Dateiendes, bevor n Bytes übersprungen wurden, ist nur eine Möglichkeit. Die tatsächliche Anzahl übersprungener Bytes wird zurückgegeben. Wenn n negativ ist, werden keine Bytes übersprungen.

Beachten Sie, dass durch die Neupositionierung des Bloblesedatenstroms die Blob-MD5-Überprüfung deaktiviert wird.

Parameters:

n - Ein long , der die Anzahl der zu überspringenden Bytes darstellt.

Gilt für: