1. 首页>
  2. 腾讯云代理

[经验分享] Java写的cos批量删除的方法

腾讯云 2017年04月12日 浏览655

腾讯云代理 腾讯云直播申请 游戏上云

摘要:

Java写的cos批量删除的方法
maven构建
需要提前安装jdk
运行方法 java -jar QcloudCOS-0.0.1-SNAPSHOT-jar-with-dependencies.jar
搜狗截图20161117133106.png

  1. package QcloudCOS.QcloudCOS;


  2. import java.io.BufferedReader;

  3. import java.io.IOException;

  4. import java.io.InputStreamReader;

  5. import java.util.Scanner;


  6. import com.google.gson.JsonArray;

  7. import com.google.gson.JsonElement;

  8. import com.google.gson.JsonObject;

  9. import com.google.gson.JsonParser;

  10. import com.qcloud.cos.COSClient;

  11. import com.qcloud.cos.request.DelFileRequest;

  12. import com.qcloud.cos.request.DelFolderRequest;

  13. import com.qcloud.cos.request.ListFolderRequest;


  14. public class ConnectTest {

  15.         static int appId = 0;

  16.         static String secretId = "";

  17.         static String secretKey = "";

  18.         static String bucketName = "";

  19.         public static void main(String[] args) throws IOException {

  20.                 Scanner scanner = new Scanner(System.in);

  21.                 BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

  22.                 // 输入appId, secretId, secretKey

  23.                 System.out.println("请输入 appId 并以回车结束!");

  24.                 appId = scanner.nextInt();

  25.                 System.out.println("请输入 secretId 并以回车结束!");

  26.                 secretId = in.readLine();

  27.                 System.out.println("请输入 secretKey 并以回车结束!");

  28.                 secretKey = in.readLine();

  29.                 System.out.println("请输入 bucketName 并以回车结束!");

  30.                 bucketName = in.readLine();

  31.                 System.out.println("请输入 要删除的目录 例如  /test/test02/test03/");

  32.                 String next = in.readLine();

  33.                 String cosPath = next.replaceAll(" ", "");

  34.                 // 建立CosClient 连接对象

  35.                 COSClient cosClient = new COSClient(appId, secretId, secretKey);

  36.                 tra(cosClient, cosPath);

  37.                 // 关闭输入流

  38.                 scanner.close();

  39.                 // 断开cos连接

  40.                 cosClient.shutdown();

  41.         }

  42.         public static void tra(COSClient cosClient, String cosPath){

  43.                 ListFolderRequest listFolderRequest = new ListFolderRequest(bucketName, cosPath);

  44.                 // 读取目录

  45.                 String listFolder = cosClient.listFolder(listFolderRequest);

  46.                 JsonObject jsonObject = new JsonParser().parse(listFolder).getAsJsonObject();

  47.                 JsonObject dataJson = jsonObject.getAsJsonObject("data");

  48.                 JsonArray jsonArray = dataJson.getAsJsonArray("infos");

  49.                 if (jsonArray.size() == 0) return;

  50.                 for(int i = 0; i < jsonArray.size(); i++){

  51.                         JsonObject dir = (JsonObject) jsonArray.get(i);

  52.                         String asString = dir.get("name").getAsString();

  53.                         String subcosPath = cosPath + asString + "/";                        

  54.                         if(dir.get("sha")==null)

  55.                                 tra(cosClient, subcosPath);

  56.                         DelFileRequest delFileRequest = new DelFileRequest(bucketName, cosPath+asString);

  57.                         String delFile = cosClient.delFile(delFileRequest);

  58.                         JsonObject asJsonObject = new JsonParser().parse(delFile).getAsJsonObject();

  59.                         JsonElement jsonElement = asJsonObject.get("code");

  60.                         int asInt = jsonElement.getAsInt();

  61.                         String log;

  62.                         if(asInt == 0){

  63.                         }else if (asInt == -166) {

  64.                                 DelFolderRequest folderRequest = new DelFolderRequest(bucketName, subcosPath);

  65.                                 delFile = cosClient.delFolder(folderRequest);

  66.                                 System.out.println(delFile);

  67.                         }

  68.                         JsonObject asJsonObject2 = new JsonParser().parse(delFile).getAsJsonObject();

  69.                         String asString2 = asJsonObject2.get("message").getAsString();

  70.                         log = "操作:删除" + subcosPath+" \t"+asString2;

  71.                         System.out.println(log);

  72.                 }

  73.                 DelFolderRequest folderRequest = new DelFolderRequest(bucketName, cosPath);

  74.                 String delFile = cosClient.delFolder(folderRequest);

  75.                 JsonObject asJsonObject2 = new JsonParser().parse(delFile).getAsJsonObject();

  76.                 String asString2 = asJsonObject2.get("message").getAsString();

  77.                 String log = "操作:删除" + cosPath+" \t"+asString2;

  78.                 System.out.println(log);

  79.         }

  80. }


复制代码

jar 文件下载地址: 下载

腾讯云服务商邀请关注:

http://partners.qcloud.com/invitation/99377079157835da208bd0

关注服务商的链接,提供下您关注的QQ,我们这边审核下即可快速回复您的工单问题与技术支持! 感谢您的信任与支持!

auto_1452.png

腾讯云技术交流群








原文地址:http://bbs.qcloud.com/thread-24878-1-1.html

相关文章

在线客服
淘宝购买
腾讯云直播申请 title=
+成为腾讯云VIP客户 腾讯云直播申请 客服电话

15818558013

0755-33940501-803

0755-33940501-808