Skip to content

Commit d6094e0

Browse files
authored
Merge pull request #191 from tencentyun/dev/update_demo
Dev/update demo
2 parents 53e1214 + 23bb813 commit d6094e0

File tree

1 file changed

+43
-2
lines changed

1 file changed

+43
-2
lines changed
Lines changed: 43 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,40 @@
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();
21+
1422
public static void main(String[] args) {
1523
getObjectToFileDemo();
1624
}
1725

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

0 commit comments

Comments
 (0)