このトピックでは、ローカルコンピューターにオブジェクトをダウンロードする方法について説明します。
使用上の注意
このトピックのサンプルコードを実行する前に、カスタムドメイン名やSecurity Token Service (STS) などの方法を使用してOSSClientインスタンスを作成する必要があります。 詳細については、「初期化」をご参照ください。
例
次のコードは、特定のオブジェクトをローカルコンピューターにダウンロードする方法の例を示しています。
// オブジェクトのダウンロード要求を作成します。
// バケットの名前とオブジェクトの完全パスを指定します。 この例では、バケット名はexamplebucketで、オブジェクトの完全パスはexampledir/exampleobject.txtです。 バケット名をフルパスに含めないでください。
GetObjectRequest get = new GetObjectRequest("examplebucket", "exampledir/exampleobject.txt");
oss.asyncGetObject(get, new OSSCompletedCallback<GetObjectRequest, GetObjectResult>() {
@オーバーライド
public void onSuccess(GetObjectRequestリクエスト, GetObjectResult結果) {
// データの読み取りを開始します。
long length = result.getContentLength();
if (length > 0) {
byte[] buffer = new byte[(int) length];
int readCount = 0;
while (readCount < length) {
try{
readCount += result.getObjectContent().read(buffer, readCount, (int) length - readCount);
} catch (例外e){
OSSLog.logInfo(e.toString());
}
}
// ダウンロードしたオブジェクトのフルパスを指定します。 例: D :\\ localpath\\exampleobject.jpg
try {
FileOutputStream fout = new FileOutputStream("download_filePath");
fout.write (バッファ);
fout.close();
} catch (Exception e) {
OSSLog.logInfo(e.toString());
}
}
}
@オーバーライド
public void onFailure(GetObjectRequest request, ClientException clientException,
ServiceException serviceException) {
}
});