pom.xmlhtml
<dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>2.8.3</version> </dependency>
javajava
public class HelloOSS { //static Logger logger = Logger.getLogger(HelloOSS.class); // endpoint是訪問OSS的域名。若是您已經在OSS的控制檯上 建立了Bucket,請在控制檯上查看域名。 // 若是您尚未建立Bucket,endpoint選擇請參看文檔中心的「開發人員指南 > 基本概念 > 訪問域名」, // 連接地址是:https://help.aliyun.com/document_detail/oss/user_guide/oss_concept/endpoint.html?spm=5176.docoss/user_guide/endpoint_region // endpoint的格式形如「http://oss-cn-hangzhou.aliyuncs.com/」,注意http://後不帶bucket名稱, // 好比「http://bucket-name.oss-cn-hangzhou.aliyuncs.com」,是錯誤的endpoint,請去掉其中的「bucket-name」。 private static String endpoint = "http://oss-cn-beijing.aliyuncs.com"; // accessKeyId和accessKeySecret是OSS的訪問密鑰,您能夠在控制檯上建立和查看, // 建立和查看訪問密鑰的連接地址是:https://ak-console.aliyun.com/#/。 // 注意:accessKeyId和accessKeySecret先後都沒有空格,從控制檯複製時請檢查並去除多餘的空格。 private static String accessKeyId = "##################"; private static String accessKeySecret = "################"; // Bucket用來管理所存儲Object的存儲空間,詳細描述請參看「開發人員指南 > 基本概念 > OSS基本概念介紹」。 // Bucket命名規範以下:只能包括小寫字母,數字和短橫線(-),必須以小寫字母或者數字開頭,長度必須在3-63字節之間。 private static String bucketName = "##-exchange-private"; // Object是OSS存儲數據的基本單元,稱爲OSS的對象,也被稱爲OSS的文件。詳細描述請參看「開發人員指南 > 基本概念 > OSS基本概念介紹」。 // Object命名規範以下:使用UTF-8編碼,長度必須在1-1023字節之間,不能以「/」或者「\」字符開頭。 private static String firstKey = "my-first-key"; public static void main(String [] args) { // 日誌配置,OSS Java SDK使用log4j記錄錯誤信息。示例程序會在工程目錄下生成「oss-demo.log」日誌文件,默認日誌級別是INFO。 // 日誌的配置文件是「conf/log4j.properties」,若是您不須要日誌,能夠沒有日誌配置文件和下面的日誌配置。 //PropertyConfigurator.configure("conf/log4j.properties"); //logger.info("Started"); System.out.println("============================OSS上傳測試開始==============================="); // 生成OSSClient,您能夠指定一些參數,詳見「SDK手冊 > Java-SDK > 初始化」, // 連接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/init.html?spm=5176.docoss/sdk/java-sdk/get-start OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret); System.out.println("============================ossClient建立成功==============================="); try { // 判斷Bucket是否存在。詳細請參看「SDK手冊 > Java-SDK > 管理Bucket」。 // 連接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_bucket.html?spm=5176.docoss/sdk/java-sdk/init if (ossClient.doesBucketExist(bucketName)) { System.out.println("您已經建立Bucket:" + bucketName + "。"); } else { System.out.println("您的Bucket不存在,建立Bucket:" + bucketName + "。"); // 建立Bucket。詳細請參看「SDK手冊 > Java-SDK > 管理Bucket」。 // 連接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_bucket.html?spm=5176.docoss/sdk/java-sdk/init ossClient.createBucket(bucketName); } // 查看Bucket信息。詳細請參看「SDK手冊 > Java-SDK > 管理Bucket」。 // 連接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_bucket.html?spm=5176.docoss/sdk/java-sdk/init BucketInfo info = ossClient.getBucketInfo(bucketName); System.out.println("Bucket " + bucketName + "的信息以下:"); System.out.println("\t數據中心:" + info.getBucket().getLocation()); System.out.println("\t建立時間:" + info.getBucket().getCreationDate()); System.out.println("\t用戶標誌:" + info.getBucket().getOwner()); // 把字符串存入OSS,Object的名稱爲firstKey。詳細請參看「SDK手冊 > Java-SDK > 上傳文件」。 // 連接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/upload_object.html?spm=5176.docoss/user_guide/upload_object InputStream is = new ByteArrayInputStream("Hello OSS".getBytes()); ossClient.putObject(bucketName, firstKey, is); System.out.println("Object:" + firstKey + "存入OSS成功。"); // 下載文件。詳細請參看「SDK手冊 > Java-SDK > 下載文件」。 // 連接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/download_object.html?spm=5176.docoss/sdk/java-sdk/manage_object OSSObject ossObject = ossClient.getObject(bucketName, firstKey); InputStream inputStream = ossObject.getObjectContent(); StringBuilder objectContent = new StringBuilder(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); while (true) { String line = reader.readLine(); if (line == null) break; objectContent.append(line); } inputStream.close(); System.out.println("Object:" + firstKey + "的內容是:" + objectContent); // 文件存儲入OSS,Object的名稱爲fileKey。詳細請參看「SDK手冊 > Java-SDK > 上傳文件」。 // 連接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/upload_object.html?spm=5176.docoss/user_guide/upload_object String fileKey = "README.md"; ossClient.putObject(bucketName, fileKey, new File("README.md")); System.out.println("Object:" + fileKey + "存入OSS成功。"); // 查看Bucket中的Object。詳細請參看「SDK手冊 > Java-SDK > 管理文件」。 // 連接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_object.html?spm=5176.docoss/sdk/java-sdk/manage_bucket ObjectListing objectListing = ossClient.listObjects(bucketName); List<OSSObjectSummary> objectSummary = objectListing.getObjectSummaries(); System.out.println("您有如下Object:"); for (OSSObjectSummary object : objectSummary) { System.out.println("\t" + object.getKey()); } // 刪除Object。詳細請參看「SDK手冊 > Java-SDK > 管理文件」。 // 連接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_object.html?spm=5176.docoss/sdk/java-sdk/manage_bucket /* ossClient.deleteObject(bucketName, firstKey); System.out.println("刪除Object:" + firstKey + "成功。"); ossClient.deleteObject(bucketName, fileKey); System.out.println("刪除Object:" + fileKey + "成功。"); */ } catch (OSSException oe) { oe.printStackTrace(); } catch (ClientException ce) { ce.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { ossClient.shutdown(); } //logger.info("Completed"); } }