Java在上传到AWS云之前创建文件副本

Java在上传到AWS云之前创建文件副本,java,amazon-web-services,file,selenium-webdriver,Java,Amazon Web Services,File,Selenium Webdriver,我在目录中有一个图像。 我想用不同的名称复制该图像,而不损害同一目录中的原始图像。 因此,在一个文件夹中会有两个同名的图像 我想要一个我试过的基本代码- File source = new File("resources/"+getImage(0)); File dest = new File("resources/"); source.renameTo("resources/"+getImage(0)+); try {

我在目录中有一个图像。 我想用不同的名称复制该图像,而不损害同一目录中的原始图像。 因此,在一个文件夹中会有两个同名的图像

我想要一个我试过的基本代码-

     File source = new File("resources/"+getImage(0));  
        File dest = new File("resources/");
        source.renameTo("resources/"+getImage(0)+);
        try {
            FileUtils.copyDirectory(source, dest);
        } catch (IOException e) {
            e.printStackTrace();
        }
当我自动将同一个图像多次上传到Amazon服务器,然后它开始发出上传问题。 所以我们每次都要上传一个镜像拷贝。 在eclipse中通常有resources文件夹。我想在每次上传前复制一张原始图像,上传后删除。
请建议一些方法

这不是一个完美的解决方案,但我们可以直接将文件路径强制放入表单中,而不是处理弹出框:[我使用日期戳创建新文件名,但也可以使用一些不同的逻辑,即-随机字符串追加器等]

import org.junit.jupiter.api.Test;
import java.io.*;
import java.nio.file.Files;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;


public class Upload {

    private static final String SRC_RESOURCES_FILE_PATH = System.getProperty("user.dir")+"/src/resources/";

    File s1 = new File(SRC_RESOURCES_FILE_PATH+"Img1.png");
    File s2 = new File(SRC_RESOURCES_FILE_PATH+"Img"+getDateStamp()+".png");

    @Test
    public void uploadFunction() throws IOException {
        copyFileUsingJava7Files(s1,s2);

    }

    private String getDateStamp(){
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date date = new Date();
        return dateFormat.format(date).toString();

    }


    private static void copyFileUsingJava7Files(File source, File dest)
        throws IOException {
        Files.copy(source.toPath(), dest.toPath());
    }


}

您只需复制文件并使用

公共静态最终标准复制选项复制属性

将属性复制到新文件

Files.copy(Paths.get(//path//to//file//and//filename),
    Paths.get(//path//to//file//and//newfilename), StandardCopyOption.COPY_ATTRIBUTES);