当前位置: 首页 > 知识库问答 >
问题:

在使用Java将文件从s3 bucket子文件夹复制到另一个子文件夹时,面临重复文件创建的问题?

苍意智
2023-03-14
 test/test123/test1234/ test12345/input.txt
s3client.copyObject(bucketName, objectKey, bucketName + "/test/test123/test1234/ test12345/", objectKey);
s3client.deleteObject(bucketName, objectKey);

但是它创建的文件夹结构如下所示: /test/test123/test1234/test123/test1234/test1235/ 文件夹结构重复 ;

请帮帮我。 

共有1个答案

聂鹏云
2023-03-14

这是您的代码,为了清晰起见,添加了注释:

s3client.copyObject(
    bucketName,     // Source bucket name
    objectKey,      // Source key
    bucketName + "/test/test123/test1234/ test12345/", // Destination bucket name
    objectKey       // Destination key
);

为什么要将该字符串添加到目标桶名称中?

正确的代码如下所示:

String bucketName     = "test";
String objectKey      = "/test123/test1234/input.txt";
String destinationKey = "/test123/test1234/test12345/input.txt";

// Copy the object to the new path
s3client.copyObject(
    bucketName,     // Source bucket name
    objectKey,      // Source key
    bucketName,     // Destination bucket name
    destinationKey  // Destination key
);

// Delete the object at the old path
s3client.deleteObject(bucketName, objectKey);
 类似资料:
  • 如何使用java将文件从一个文件夹复制到另一个文件夹?我试图使用 如果目标文件夹不包含具有相同名称的文件,则此操作有效。如果我尝试将文件粘贴到文件夹中,它会引发IOException。然而,有什么办法可以解决这个问题吗?可能我只想将自动重命名为pasteItem(1)或类似名称的文件粘贴。请建议。 事实上,如果同名文件已经存在,我将为该文件获得一个新名称。我不知道如何复制文件,然后重命名。如果我先

  • 我必须将ant项目转换为gradle项目。在这里,当我运行gradle构建时,它创建了war文件,当它部署在服务器上时,分解的war文件夹有两个文件夹META-INF和WEB-INF,我的要求是1。将web.xml从图像中看到的config文件夹复制到WEB-INF文件夹,并将图像中看到的jsp文件夹复制到分解文件夹

  • //我得到的错误是java。尼奥。文件FileAlreadyExistsException所以据我所知,它试图将文件保存到确切的位置,而不是保存在文件中,如果我将目标地址改为“垃圾/垃圾”,我需要以这种方式保存几个文本文件。它将在那里保存一个名为垃圾的文件。txt。但在for-each的下一个循环中,它会抛出一个“已经存在”的异常。。。 有人能解释一下我如何从src文件夹将所有txt文件保存到该文

  • 问题内容: 这个问题已经在这里有了答案 : 使用Java将文件从一个目录复制到另一个目录 (33个答案) 4年前关闭。 如何将一个文件夹及其所有子文件夹和文件复制到另一个文件夹中? 问题答案: Apache Commons IO可以为您解决问题。看看FileUtils。

  • 我想使用机器人复制简单地复制一个名为的zip文件到一个名为

  • 我有一个Windows文件夹结构和文件,如下所示 c:\源文件\file1.txt c:\源文件夹\subfolder1\file2.txt c:\源文件夹\子文件夹2\file3.txt 我想复制所有文件到目标文件夹,如下所示 c:\DestinationFile\file1.txt c:\DestinationFile\file2.txt c:\DestinationFile\file3.tx