阿里雲團隊努力不懈,力求將最新的技術內容更快地以您最熟悉的語言呈現。本文由簡體中文內容自動轉碼而成,過程無人工干預。阿里雲不保證此自動轉碼的準確性、完整性及時效性。因轉碼造成的任何內容錯誤及因此可能帶來的損失,阿里雲概不負責,敬請見諒。本文内容請以簡體中文版本為準。
全部產品
Search
文件中心

快速入門

更新時間: Oct 19, 2018

本節介紹如何快速使用OSS Java SDK完成常見操作,如建立儲存空間、上傳檔案、下載檔案等。

樣本工程

OSS Java SDK提供了基於Maven和Ant的樣本工程。您可以在本地裝置上編譯和運行樣本工程,也可以以樣本工程為基礎開發您的應用。工程的編譯和運行方法,請參見工程目錄下的README.md。

建立儲存空間

儲存空間是OSS全域命名空間,相當於資料的容器,可以儲存若干檔案。以下代碼用於新建一個儲存空間:

  1. // Endpoint以杭州為例,其它Region請按實際情況填寫。
  2. String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  3. // 阿里雲主帳號AccessKey擁有所有API的存取權限,風險很高。強烈建議您建立並使用RAM帳號進行API訪問或日常運維,請登入 https://ram.console.aliyun.com 建立RAM帳號。
  4. String accessKeyId = "<yourAccessKeyId>";
  5. String accessKeySecret = "<yourAccessKeySecret>";
  6. String bucketName = "<yourBucketName>";
  7. // 建立OSSClient執行個體。
  8. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
  9. // 建立儲存空間。
  10. ossClient.createBucket(bucketName);
  11. // 關閉OSSClient。
  12. ossClient.shutdown();

儲存空間的命名規範,請參見基本概念中的命名規範。建立儲存空間詳情,請參見管理儲存空間

上傳檔案

以下代碼用於上傳檔案至OSS:

  1. // Endpoint以杭州為例,其它Region請按實際情況填寫。
  2. String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  3. // 阿里雲主帳號AccessKey擁有所有API的存取權限,風險很高。強烈建議您建立並使用RAM帳號進行API訪問或日常運維,請登入 https://ram.console.aliyun.com 建立RAM帳號。
  4. String accessKeyId = "<yourAccessKeyId>";
  5. String accessKeySecret = "<yourAccessKeySecret>";
  6. String bucketName = "<yourBucketName>";
  7. String objectName = "<yourObjectName>";
  8. // 建立OSSClient執行個體。
  9. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
  10. // 上傳檔案。
  11. String content = "Hello OSS";
  12. ossClient.putObject(bucketName, objectName, new ByteArrayInputStream(content.getBytes()));
  13. // 關閉OSSClient。
  14. ossClient.shutdown();

上傳檔案詳情請參見上傳檔案

下載檔案

以下代碼用於獲取檔案的常值內容:

  1. // Endpoint以杭州為例,其它Region請按實際情況填寫。
  2. String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  3. // 阿里雲主帳號AccessKey擁有所有API的存取權限,風險很高。強烈建議您建立並使用RAM帳號進行API訪問或日常運維,請登入 https://ram.console.aliyun.com 建立RAM帳號。
  4. String accessKeyId = "<yourAccessKeyId>";
  5. String accessKeySecret = "<yourAccessKeySecret>";
  6. String bucketName = "<yourBucketName>";
  7. String objectName = "<yourObjectName>";
  8. // 建立OSSClient執行個體。
  9. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
  10. // 調用ossClient.getObject返回一個OSSObject執行個體,該執行個體包含檔案內容及檔案元資訊。
  11. OSSObject ossObject = ossClient.getObject(bucketName, objectName);
  12. // 調用ossObject.getObjectContent獲取檔案輸入資料流,可讀取此輸入資料流獲取其內容。
  13. InputStream content = ossObject.getObjectContent();
  14. if (content != null) {
  15. BufferedReader reader = new BufferedReader(new InputStreamReader(content));
  16. while (true) {
  17. String line = reader.readLine();
  18. if (line == null) break;
  19. System.out.println("\n" + line);
  20. }
  21. // 資料讀取完成後,獲取的流必須關閉,否則會造成連接泄漏,導致請求無連接可用,程式無法正常工作。
  22. content.close();
  23. }
  24. // 關閉OSSClient。
  25. ossClient.shutdown();

下載檔案詳情請參見下載檔案

列舉檔案

以下代碼用於列舉指定儲存空間下的檔案。預設列舉100個檔案。

  1. // Endpoint以杭州為例,其它Region請按實際情況填寫。
  2. String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  3. // 阿里雲主帳號AccessKey擁有所有API的存取權限,風險很高。強烈建議您建立並使用RAM帳號進行API訪問或日常運維,請登入 https://ram.console.aliyun.com 建立RAM帳號。
  4. String accessKeyId = "<yourAccessKeyId>";
  5. String accessKeySecret = "<yourAccessKeySecret>";
  6. String bucketName = "<yourBucketName>";
  7. // 建立OSSClient執行個體。
  8. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
  9. // ossClient.listObjects返回ObjectListing執行個體,包含此次listObject請求的返回結果。
  10. ObjectListing objectListing = ossClient.listObjects(bucketName);
  11. // objectListing.getObjectSummaries獲取所有檔案的描述資訊。
  12. for (OSSObjectSummary objectSummary : objectListing.getObjectSummaries()) {
  13. System.out.println(" - " + objectSummary.getKey() + " " +
  14. "(size = " + objectSummary.getSize() + ")");
  15. }
  16. // 關閉OSSClient。
  17. ossClient.shutdown();

列舉功能詳情請參見管理檔案中的列出儲存空間中的檔案。

刪除檔案

以下代碼用於刪除指定檔案:

  1. // Endpoint以杭州為例,其它Region請按實際情況填寫。
  2. String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  3. // 阿里雲主帳號AccessKey擁有所有API的存取權限,風險很高。強烈建議您建立並使用RAM帳號進行API訪問或日常運維,請登入 https://ram.console.aliyun.com 建立RAM帳號。
  4. String accessKeyId = "<yourAccessKeyId>";
  5. String accessKeySecret = "<yourAccessKeySecret>";
  6. String bucketName = "<yourBucketName>";
  7. String objectName = "<yourObjectName>";
  8. // 建立OSSClient執行個體。
  9. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
  10. // 刪除檔案。
  11. ossClient.deleteObject(bucketName, objectName);
  12. // 關閉OSSClient。
  13. ossClient.shutdown();

刪除檔案詳情請參見管理檔案中的刪除檔案。刪除檔案完整代碼請參見GitHub