Skip to content

Commit baa3b08

Browse files
author
jeffreykzli
committed
update get obj Demo
1 parent 26972e5 commit baa3b08

File tree

1 file changed

+42
-2
lines changed

1 file changed

+42
-2
lines changed
Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,39 @@
11
package com.qcloud.cos.demo;
22

33
import java.io.File;
4+
import java.io.IOException;
5+
import java.io.InputStream;
46

57
import com.qcloud.cos.COSClient;
68
import com.qcloud.cos.ClientConfig;
79
import com.qcloud.cos.auth.BasicCOSCredentials;
810
import com.qcloud.cos.auth.COSCredentials;
11+
import com.qcloud.cos.exception.CosClientException;
12+
import com.qcloud.cos.exception.CosServiceException;
13+
import com.qcloud.cos.model.COSObject;
914
import com.qcloud.cos.model.GetObjectRequest;
1015
import com.qcloud.cos.model.ObjectMetadata;
1116
import com.qcloud.cos.region.Region;
17+
import com.qcloud.cos.utils.IOUtils;
1218

1319
public class GetObjectDemo {
20+
private static COSClient cosClient = createClient();
1421
public static void main(String[] args) {
1522
getObjectToFileDemo();
1623
}
1724

18-
private static void getObjectToFileDemo() {
25+
private static COSClient createClient() {
1926
// 初始化用户身份信息(secretId, secretKey)
2027
COSCredentials cred = new BasicCOSCredentials("AKIDXXXXXXXX","1A2Z3YYYYYYYYYY");
2128
// 设置bucket的区域, COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224
2229
ClientConfig clientConfig = new ClientConfig(new Region("ap-guangzhou"));
2330
// 生成cos客户端
2431
COSClient cosclient = new COSClient(cred, clientConfig);
32+
33+
return cosclient;
34+
}
35+
36+
private static void getObjectToFileDemo() {
2537
String key = "test/my_test.json";
2638
String bucketName = "mybucket-12500000000";
2739
boolean useTrafficLimit = false;
@@ -30,8 +42,36 @@ private static void getObjectToFileDemo() {
3042
getObjectRequest.setTrafficLimit(8*1024*1024);
3143
}
3244
File localFile = new File("my_test.json");
33-
ObjectMetadata objectMetadata = cosclient.getObject(getObjectRequest, localFile);
45+
ObjectMetadata objectMetadata = cosClient.getObject(getObjectRequest, localFile);
3446
System.out.println(objectMetadata.getContentLength());
3547
}
48+
49+
private static void getObjectDemo() throws IOException {
50+
String key = "test/my_test.json";
51+
String bucketName = "mybucket-12500000000";
52+
GetObjectRequest getObjectRequest = new GetObjectRequest(bucketName, key);
53+
InputStream cosObjectInput = null;
54+
55+
try {
56+
COSObject cosObject = cosClient.getObject(getObjectRequest);
57+
cosObjectInput = cosObject.getObjectContent();
58+
} catch (CosServiceException e) {
59+
e.printStackTrace();
60+
} catch (CosClientException e) {
61+
e.printStackTrace();
62+
}
63+
64+
// 处理下载到的流
65+
// 这里是直接读取,按实际情况来处理
66+
byte[] bytes = null;
67+
try {
68+
bytes = IOUtils.toByteArray(cosObjectInput);
69+
} catch (IOException e) {
70+
e.printStackTrace();
71+
} finally {
72+
// 用完流之后一定要调用 close()
73+
cosObjectInput.close();
74+
}
75+
}
3676
}
3777

0 commit comments

Comments
 (0)