最初に記録院の下に、文書の下で研究。
まず、新しいツールクラスCOSUtil。
クライアントのバケットを生成するために、アカウントのパスワードを設定する(それぞれが、後者は、コードの簡単な方法を省略することができるための設定が必要です):
1文字列秘密識別情報Secret =「ルート」; //初期ユーザ身元情報(秘密識別情報Secret、秘密鍵)。
2列秘密鍵=「123456 。
3文字列bucketName =「テスト12.5億」; //初期化バケット
4
5 COSCredentialsはCRED =新しいBasicCOSCredentials(秘密識別情報Secret、秘密鍵)。
6リージョン領域=新しい地域(「AP-上海」); //バケット領域を設定し、COSローカルはhttps://cloud.tencent.com/document/product/436/6224を参照すると呼ば
7 ClientConfig clientConfig =新しいClientConfig(領域); clientConfigが設定領域、HTTPS(デフォルトHTTP)、残業、および方法を設定する他の薬剤を含ん//、使用は、ソースコードまたはJava SDKのFAQセクションに見出すことができます。
8 COSClient cosClient =(CRED、clientConfig)新しいCOSClient; //クライアントを生成するCOS。
ファイルのアップロード:
パブリック静的文字列のアップロード(ファイルfile){
(ファイル== nullが){//ファイルが空の場合、決定された場合
ヌルを返します。
}
してみてください{
// COSキーにアップロードするオブジェクトを指定し、キーは実際にはファイルのオブジェクトファイルのパスとファイル名テンセント雲のような、に格納されます。「ファイル/ test.log」。私はここに最初にUUIDに置き換え
文字列のキー= UUID.randomUUID()のtoString()( " - "、 ""交換してください。。); System.out.println(キー); PutObjectRequest putObjectRequestは新しい= PutObjectRequest(bucketName、キー、ファイルを)。 PutObjectResult putObjectResult = cosClient.putObject(putObjectRequest)。リターンキー。//文字列のETag = putObjectResult.getETag()。//获取文件的のETag}キャッチ(CosServiceException serverException){serverException.printStackTrace()。}キャッチ(CosClientException clientException){clientException.printStackTrace()。}「」を返します。}
ダウンロード(ストリーム):
ファイルのダウンロード・ストリームを取得する//パス・キー
のpublic staticのCOSObjectInputStreamダウンロード(文字列のキーを){ GetObjectRequest getObjectRequest =新しいGetObjectRequest(bucketName、キー); //キーの取得ファイルに基づいて要求と浴槽 System.out.println( "ファイル要求:" + getObjectRequest)。 COSObject cosObject = cosClient.getObject(getObjectRequest)。 COSObjectInputStream cosObjectInput = cosObject.getObjectContent()。System.out.println( "输出流:" + cosObjectInput)。返すcosObjectInputを。}
ダウンロード(エンティティ):
キーの実体に応じ//ダウンロードファイル 静的公開objectMetadata Download1(文字列のキー){
ファイルdownFile =新しい新しいファイル(「D:/1111.pdf」);キーまたは直接充填の//カスタムファイルパス GetObjectRequest getObjectRequest =新しいGetObjectRequest(bucketName、キー)。 ObjectMetadata downObjectMeta = cosClient.getObject(getObjectRequest、downFile)。 //は、属性ObjectMetadataファイルは、カスタムContent-Typeヘッダが含まれており、ファイルの属性を返します。 返すdownObjectMetaを。 }
ファイルの一時的なURLを取得します。
パブリック静的の文字列generatePresignedUrlの終了(文字列のキー){//このURLでオンラインのファイルを表示するには、キーは「.pngを」しなければならない、「PDF」およびその他のサフィックス2020年1月4日午前12時02分47秒
日expirationTime =新しいDate(のSystem.currentTimeMillis()+ 30L * 60L * 1000L); //時間半期限切れ
System.out.println( "expiratioin" + expirationTime.toString());
URL URL = cosClient.generatePresignedUrl(bucketName、キー、expirationTime); // URLアドレスを取得します
System.out.println(URL);
リターンurl.toString(); }
コンソール印刷ファイル情報(次のコードは、すべてを印刷します)。
パブリック静的ボイドshowAllFile(){
//バケットは形式BucketName-APPIDを命名、バケット名を記入し、ここで、この形式でなければなりません
//文字列bucketName = "examplebucket-1250000000";
ListObjectsRequest listObjectsRequest =新しいListObjectsRequest();
//バケット名を設定します
listObjectsRequest.setBucketName(bucketName)。
//プレフィックスリストされたオブジェクトのプレフィックスを開始するキーを表し
listObjectsRequest.setPrefix( "" ); セパレータを表す// deliterは、セット/リスト・オブジェクトは、全てによって表されるオブジェクトの空リストに設定され、現在のディレクトリを表します listObjectsRequest.setDelimiter( "" ); //はlistobject最大サポート1000と、アウト横断するオブジェクトの最大数を設定します listObjectsRequest.setMaxKeys(1000 ); ObjectListing objectListing = NULL ;行い{試み{objectListing = cosClient.listObjects(listObjectsRequest);}キャッチ(CosServiceException E){e.printStackTrace();戻り値;}キャッチ(CosClientException E){e.printStackTrace ();戻り値;} //共通のプレフィックスは、パス区切り文字は切り捨て表現を示し、セットdelimterとして/、共通のプレフィックスはリストの<string> commonPrefixs =すべてのサブディレクトリのパスを示しobjectListing.getCommonPrefixes()を; //オブジェクトの概要を表します全てのリストされたオブジェクトのリスト一覧<cOSObjectSummary> cosObjectSummaries = objectListing.getObjectSummaries();のために:パス(cOSObjectSummary cosObjectSummary cosObjectSummaries){//ファイルの文字列のキー=キーcosObjectSummary.getKey(); //ファイルのETag文字列のETag =cosObjectSummary.getETag();長いファイルサイズ//ファイルの長さ= cosObjectSummary.getSize(); //ファイル種類記憶storageClasses =文字列cosObjectSummary.getStorageClass();
System.out.printlnは( "パスとファイル名:" + キー);のSystem.out.println( "のETag:" + のETag)のSystem.out.println( "ファイルサイズ:" + ファイルサイズ)のSystem.out.println( "タイプ:" + storageClasses)のSystem.out.println ();} =ストリングNEXTMARKER objectListing.getNextMarker(); listObjectsRequest.setMarker(NEXTMARKER);}ながら(objectListing.isTruncated());}
ファイルの削除(シングル):
//ファイルの削除
公共の静的な無効DeleteObjectの(文字列のキー){
cosClient.deleteObject(bucketName、キー)。
}
削除ファイル(バッチ):
/ **
*削除ファイル(バッチ)
* @Param KEYLIST //ファイルのキーテーブルを削除するには
* /
公共の静的な無効deleteObjects(一覧<DeleteObjectsRequest.KeyVersion> キーリスト){
keyList.add(新KeyVersion( "プロジェクト/ folder1の/ picture.jpg"));
keyList.add(新KeyVersion( "プロジェクト/フォルダ2 / TEXT.TXT"));
keyList.add(新KeyVersion( "プロジェクト/フォルダ2 / music.mp3という"));
DeleteObjectsRequest deleteObjectsRequest =新しいDeleteObjectsRequest(bucketName)。
deleteObjectsRequest.setKeys(キーリスト)。
//削除するバッチファイル
してみてください{
DeleteObjectsResult deleteObjectsResult = cosclient.deleteObjects(deleteObjectsRequest)。 一覧<DeleteObjectsResult.DeletedObject> deleteObjectResultArray = deleteObjectsResult.getDeletedObjects(); }キャッチ(MultiObjectDeleteExceptionのMDE){//セクション削除成功部分が失敗した場合は、リターンMultiObjectDeleteException リスト<DeleteObjectsResult.DeletedObject> deleteObjects = mde.getDeletedObjects();リスト<MultiObjectDeleteException.DeleteError> deleteErrors = mde.getErrors();}キャッチ(CosServiceException E){//もしそのような誤差パラメータ、認証、他のような他のエラーCosServiceExceptionスローe.printStackTrace();}キャッチ(CosClientException Eは){//クライアントエラーは、接続されていない場合、例えばCOS e.printStackTrace();}}
このことについて書いて最初にいます。2019年12月24日午後三時51分41秒