77import com .qcloud .cos .exception .CosClientException ;
88import com .qcloud .cos .exception .CosServiceException ;
99import com .qcloud .cos .internal .SkipMd5CheckStrategy ;
10+ import com .qcloud .cos .model .COSObject ;
11+ import com .qcloud .cos .model .COSObjectInputStream ;
1012import com .qcloud .cos .model .CompleteMultipartUploadRequest ;
1113import com .qcloud .cos .model .CompleteMultipartUploadResult ;
1214import com .qcloud .cos .model .CopyObjectRequest ;
1315import com .qcloud .cos .model .CopyObjectResult ;
16+ import com .qcloud .cos .model .GetObjectRequest ;
1417import com .qcloud .cos .model .InitiateMultipartUploadRequest ;
1518import com .qcloud .cos .model .InitiateMultipartUploadResult ;
1619import com .qcloud .cos .model .PartETag ;
2124import com .qcloud .cos .model .UploadPartResult ;
2225import com .qcloud .cos .region .Region ;
2326import com .qcloud .cos .utils .Base64 ;
27+ import java .io .BufferedReader ;
2428import java .io .ByteArrayInputStream ;
2529import java .io .File ;
30+ import java .io .IOException ;
31+ import java .io .InputStreamReader ;
2632import java .util .LinkedList ;
2733import java .util .List ;
2834
@@ -38,8 +44,14 @@ public class KmsUploadDemo {
3844 private static String encryptionContext = Base64 .encodeAsString ("{\" Ssekmstest\" :\" Ssekmstest\" }" .getBytes ());
3945
4046 public static void main (String [] args ) {
41- simpleUploadWithKmsMeta ();
42- copyObjectWithKmsMeta ();
47+ try {
48+ simpleUploadWithKmsMeta ();
49+ simpledownloadWithKmsMeta ();
50+ } catch (Exception e ) {
51+ e .printStackTrace ();
52+ } finally {
53+ cosClient .shutdown ();
54+ }
4355 }
4456
4557 private static COSClient createCOSClient () {
@@ -72,6 +84,27 @@ private static void simpleUploadWithKmsMeta() {
7284 }
7385 }
7486
87+ private static void simpledownloadWithKmsMeta () throws IOException {
88+ GetObjectRequest getObjectRequest = new GetObjectRequest (bucketName , key );
89+ COSObject cosObject = null ;
90+ try {
91+ cosObject = cosClient .getObject (getObjectRequest );
92+ COSObjectInputStream cosObjectInputStream = cosObject .getObjectContent ();
93+ BufferedReader bufferedReader = new BufferedReader (new InputStreamReader (cosObjectInputStream ));
94+ System .out .println (bufferedReader .readLine ());
95+ } catch (CosServiceException e ) {
96+ e .printStackTrace ();
97+ } catch (CosClientException e ) {
98+ e .printStackTrace ();
99+ } catch (IOException e ) {
100+ e .printStackTrace ();
101+ } finally {
102+ if (cosObject != null ) {
103+ cosObject .close ();
104+ }
105+ }
106+ }
107+
75108 private static void multipartUploadWithKmsMeta () {
76109 InitiateMultipartUploadRequest initiateMultipartUploadRequest = new InitiateMultipartUploadRequest (bucketName , key );
77110 SSECOSKeyManagementParams ssecosKeyManagementParams = new SSECOSKeyManagementParams (kmsKeyId , encryptionContext );
0 commit comments