BlobInputStream クラス
- java.
lang. Object - InputStream
- com.
microsoft. azure. storage. blob. BlobInputStream
- com.
public class BlobInputStream
特定の BLOB リソースを読み取る入力ストリームを提供します。
コンストラクターの概要
コンストラクター | 説明 |
---|---|
BlobInputStream(final CloudBlob parentBlob, final AccessCondition accessCondition, final BlobRequestOptions options, final OperationContext opContext) |
BlobInputStream クラスの新しいインスタンスを初期化します。 |
BlobInputStream(long blobRangeOffset, Long blobRangeLength, final CloudBlob parentBlob, final AccessCondition accessCondition, final BlobRequestOptions options, final OperationContext opContext) |
BlobInputStream クラスの新しいインスタンスを初期化します。 blobRangeOffset の場合は、次の点
|
メソッドの概要
修飾子と型 | メソッドと説明 |
---|---|
synchronized int |
available()
この入力ストリームのメソッドの次の呼び出しによってブロックすることなく、この入力ストリームから読み取ることができる (またはスキップされる) バイト数の見積もりを返します。 次の呼び出しは、同じスレッドまたは別のスレッドである可能性があります。 このバイト数を 1 回読み取りまたはスキップしてもブロックされませんが、読み取りまたはスキップのバイト数が少なくなる可能性があります。 |
synchronized void |
close()
この入力ストリームを閉じ、ストリームに関連付けられているシステム リソースを解放します。 |
synchronized void |
mark(final int readlimit)
この入力ストリーム内の現在の位置をマークします。 reset メソッドの後続の呼び出しでは、このストリームが最後にマークされた位置に再配置され、後続の読み取りで同じバイトが再読み取りされます。 |
boolean |
markSupported()
この入力ストリームで mark メソッドと reset メソッドがサポートされているかどうかをテストします。 マークとリセットがサポートされているかどうかは、特定の入力ストリーム インスタンスの不変プロパティです。 の markSupported メソッド InputStream は false を返します。 |
int |
read()
入力ストリームから次のバイトのデータを読み取ります。 値バイトは、0 から 255 の範囲の int として返されます。 ストリームの末尾に達したために使用可能なバイトがない場合は、値 -1 が返されます。 このメソッドは、入力データが使用可能になるまでブロックするか、ストリームの末尾が検出されるか、例外がスローされます。 |
int |
read(final byte[] b)
入力ストリームからバイト数を読み取り、バッファー配列 に格納します。 実際に読み取られたバイト数は整数として返されます。 このメソッドは、入力データが使用可能か、ファイルの末尾が検出されるか、例外がスローされるまでブロックします。 の長さが 0 の場合、バイトは読み取られず、0 が返されます。それ以外の場合は、少なくとも 1 バイトを読み取ろうとします。 ストリームがファイルの末尾にあるために使用可能なバイトがない場合は、値 -1 が返されます。それ以外の場合は、少なくとも 1 バイトが 読み取られ、 に格納されます。 最初のバイト読み取りは 要素に格納され、次のバイトは に格納されます。 読み取られたバイト数は、最大で の長さに等しくなります。 実際に読み取られるバイト数を指定します。これらのバイトは を通じて要素に格納され、要素は影響を受けません。 クラス InputStream の メソッドは、次と同じ効果を持ちます。 |
int |
read(final byte[] b, final int off, final int len)
入力ストリームからバイト配列に最大バイトのデータを読み取ります。 バイト数だけ読み取ろうとしますが、読み取られる数は少ない場合があります。 実際に読み取られたバイト数は整数として返されます。 このメソッドは、入力データが使用可能か、ファイルの末尾が検出されるか、例外がスローされるまでブロックします。 が 0 の場合、バイトは読み取られず、0 が返されます。それ以外の場合は、少なくとも 1 バイトを読み取ろうとします。 ストリームがファイルの末尾にあるために使用可能なバイトがない場合は、値 -1 が返されます。それ以外の場合は、少なくとも 1 バイトが 読み取られ、 に格納されます。 最初のバイト読み取りは 要素に格納され、次のバイトは に格納されます。 読み取られたバイト数は、最大で と等しくなります。 実際に読み取られるバイト数を指定します。これらのバイトは を通じて要素に格納され、要素は影響を受けません。 いずれの場合も、 を通る要素と を通る要素は影響を受けません。 クラス InputStream の メソッドは、単に メソッドを繰り返し呼び出します。 このような最初の呼び出しの結果が の場合、その例外は メソッドの呼び出しから返されます。 以降の の呼び出しで が発生した場合、例外がキャッチされ、ファイルの末尾であるかのように処理されます。その時点まで読み取られたバイトは に格納され、例外が発生する前に読み取られたバイト数が返されます。 このメソッドの既定の実装では、要求された量の入力データが読み取られるか、ファイルの末尾が検出されるか、例外がスローされるまでブロックされます。 サブクラスは、このメソッドのより効率的な実装を提供することをお勧めします。 |
synchronized void |
reset()
このストリームを、この入力ストリームで mark メソッドが最後に呼び出された時点の位置に再配置します。 BLOB 読み取りストリームの位置を変更すると、BLOB MD5 チェックが無効になります。 |
synchronized long |
skip(final long n)
この入力ストリームから n バイトのデータをスキップして破棄します。 skip メソッドは、さまざまな理由で、バイト数が少ない場合は 0 をスキップする可能性があります。 これは、いくつかの条件のいずれかによって発生する可能性があります。nバイトがスキップされる前にファイルの末尾に到達することは、唯一の可能性です。 スキップされた実際のバイト数が返されます。 n が負の場合、バイトはスキップされません。 BLOB 読み取りストリームの位置を変更すると、BLOB MD5 チェックが無効になります。 |
コンストラクターの詳細
BlobInputStream
protected BlobInputStream(final CloudBlob parentBlob, final AccessCondition accessCondition, final BlobRequestOptions options, final OperationContext opContext)
BlobInputStream クラスの新しいインスタンスを初期化します。
Parameters:
Throws:
BlobInputStream
protected BlobInputStream(long blobRangeOffset, Long blobRangeLength, final CloudBlob parentBlob, final AccessCondition accessCondition, final BlobRequestOptions options, final OperationContext opContext)
BlobInputStream クラスの新しいインスタンスを初期化します。 blobRangeOffset の場合は、次の点に注意してください。
</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
- ストリームを開始する BLOB データのオフセット。
blobRangeLength
- blobRangeOffset の後にストリームが返すデータの量。
parentBlob
- CloudBlobこのストリームが関連付けられている BLOB を表す オブジェクト。
accessCondition
- BLOB の AccessCondition アクセス条件を表す オブジェクト。
options
- BlobRequestOptions要求の追加オプションを指定する を表す オブジェクト。
opContext
- 操作の OperationContext 実行を追跡するために使用される オブジェクト。
Throws:
StorageException
- 操作中に発生したエラーを表す例外。
メソッドの詳細
available
public synchronized int available()
この入力ストリームのメソッドの次の呼び出しによってブロックすることなく、この入力ストリームから読み取ることができる (またはスキップされる) バイト数の見積もりを返します。 次の呼び出しは、同じスレッドまたは別のスレッドである可能性があります。 このバイト数を 1 回読み取りまたはスキップしてもブロックされませんが、読み取りまたはスキップのバイト数が少なくなる可能性があります。
Returns:
int
ブロックせずにこの入力ストリームから読み取り (またはスキップ) できるバイト数の見積もりを表す 。入力ストリームの末尾に達した場合は 0。
Throws:
IOException
- I/O エラーが発生した場合。
close
public synchronized void close()
この入力ストリームを閉じ、ストリームに関連付けられているシステム リソースを解放します。
Throws:
IOException
- I/O エラーが発生した場合。
mark
public synchronized void mark(final int readlimit)
この入力ストリーム内の現在の位置をマークします。 reset メソッドの後続の呼び出しでは、このストリームが最後にマークされた位置に再配置され、後続の読み取りで同じバイトが再読み取りされます。
Parameters:
readlimit
- int
マーク位置が無効になる前に読み取ることができるバイトの上限を表す 。
markSupported
public boolean markSupported()
この入力ストリームで mark メソッドと reset メソッドがサポートされているかどうかをテストします。 マークとリセットがサポートされているかどうかは、特定の入力ストリーム インスタンスの不変プロパティです。 の markSupported メソッド InputStream は false を返します。
Returns:
True
このストリーム インスタンスが mark メソッドと reset メソッドをサポートしている場合は 。 False
それ以外の場合は 。
read
public int read()
入力ストリームから次のバイトのデータを読み取ります。 値バイトは、0 から 255 の範囲の int として返されます。 ストリームの末尾に達したために使用可能なバイトがない場合は、値 -1 が返されます。 このメソッドは、入力データが使用可能になるまでブロックするか、ストリームの末尾が検出されるか、例外がスローされます。
Returns:
int
バッファーに読み込まれたバイトの合計数を表す 。ストリームの末尾に達したためにデータが存在しない場合は -1。
Throws:
IOException
- I/O エラーが発生した場合。
read
public int read(final byte[] b)
入力ストリームからバイト数を読み取り、バッファー配列 に格納します。 実際に読み取られたバイト数は整数として返されます。 このメソッドは、入力データが使用可能か、ファイルの末尾が検出されるか、例外がスローされるまでブロックします。 の長さが 0 の場合、バイトは読み取られず、0 が返されます。それ以外の場合は、少なくとも 1 バイトを読み取ろうとします。 ストリームがファイルの末尾にあるために使用可能なバイトがない場合は、値 -1 が返されます。それ以外の場合は、少なくとも 1 バイトが 読み取られ、 に格納されます。
最初のバイト読み取りは 要素に格納され、次のバイトは に格納されます。 読み取られたバイト数は、最大で の長さに等しくなります。 実際に読み取られるバイト数を指定します。これらのバイトは を通じて要素に格納され、要素は影響を受けません。
クラス InputStream の メソッドは、次と同じ効果を持ちます。
Parameters:
b
- byte
データの読み取り先となるバッファーを表す配列。
Throws:
IOException
- ファイルの末尾以外の理由で最初のバイトを読み取ることができない場合、入力ストリームが閉じられている場合、または他の I/O エラーが発生した場合。
NullPointerException
- 配列b
が byte
null の場合。
read
public int read(final byte[] b, final int off, final int len)
入力ストリームからバイト配列に最大バイトのデータを読み取ります。 バイト数だけ読み取ろうとしますが、読み取られる数は少ない場合があります。 実際に読み取られたバイト数は整数として返されます。 このメソッドは、入力データが使用可能か、ファイルの末尾が検出されるか、例外がスローされるまでブロックします。
が 0 の場合、バイトは読み取られず、0 が返されます。それ以外の場合は、少なくとも 1 バイトを読み取ろうとします。 ストリームがファイルの末尾にあるために使用可能なバイトがない場合は、値 -1 が返されます。それ以外の場合は、少なくとも 1 バイトが 読み取られ、 に格納されます。
最初のバイト読み取りは 要素に格納され、次のバイトは に格納されます。 読み取られたバイト数は、最大で と等しくなります。 実際に読み取られるバイト数を指定します。これらのバイトは を通じて要素に格納され、要素は影響を受けません。
いずれの場合も、 を通る要素と を通る要素は影響を受けません。
クラス InputStream の メソッドは、単に メソッドを繰り返し呼び出します。 このような最初の呼び出しの結果が の場合、その例外は メソッドの呼び出しから返されます。 以降の の呼び出しで が発生した場合、例外がキャッチされ、ファイルの末尾であるかのように処理されます。その時点まで読み取られたバイトは に格納され、例外が発生する前に読み取られたバイト数が返されます。 このメソッドの既定の実装では、要求された量の入力データが読み取られるか、ファイルの末尾が検出されるか、例外がスローされるまでブロックされます。 サブクラスは、このメソッドのより効率的な実装を提供することをお勧めします。
Parameters:
b
- byte
データの読み取り先となるバッファーを表す配列。
off
- int
データが書き込まれる配列のbyte
開始オフセットを表す 。
len
- int
読み取る最大バイト数を表す 。
Returns:
int
バッファーに読み込まれたバイトの合計数を表す 。ストリームの末尾に達したためにデータが存在しない場合は -1。
Throws:
IOException
- ファイルの終わり以外の理由で最初のバイトを読み取ることができない場合、または入力ストリームが閉じられている場合、または他の入出力エラーが発生した場合。
NullPointerException
- 配列b
が byte
null の場合。
IndexOutOfBoundsException
- が負の場合、len
負の値、または len
が よりb.length - off
大きい場合off
。
reset
public synchronized void reset()
このストリームを、この入力ストリームで mark メソッドが最後に呼び出された時点の位置に再配置します。 BLOB 読み取りストリームの位置を変更すると、BLOB MD5 チェックが無効になります。
Throws:
IOException
- このストリームがマークされていない場合、またはマークが無効になっている場合。
skip
public synchronized long skip(final long n)
この入力ストリームから n バイトのデータをスキップして破棄します。 skip メソッドは、さまざまな理由で、バイト数が少ない場合は 0 をスキップする可能性があります。 これは、いくつかの条件のいずれかによって発生する可能性があります。nバイトがスキップされる前にファイルの末尾に到達することは、唯一の可能性です。 スキップされた実際のバイト数が返されます。 n が負の場合、バイトはスキップされません。
BLOB 読み取りストリームの位置を変更すると、BLOB MD5 チェックが無効になります。
Parameters:
n
- long
スキップするバイト数を表す 。
適用対象
Azure SDK for Java