Java Создание копии файла перед загрузкой в ​​облако AWS - PullRequest
0 голосов
/ 04 октября 2018

У меня есть изображение в каталоге.Я хочу сделать копию этого изображения с другим именем, не причиняя вреда исходному изображению в том же каталоге.
Таким образом, в одной папке будет два одинаковых изображения с другим именем.

Iхочу базовый код, как я пытался -

     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 обычно есть папка ресурсов.Я хочу сделать копию исходного изображения каждый раз перед загрузкой и удалить его после загрузки.Пожалуйста, предложите какой-то подход

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

Вы можете просто скопировать файл и использовать StandardCopyOption.COPY_ATTRIBUTES

public static final StandardCopyOption COPY_ATTRIBUTES

Копировать атрибуты в новый файл.

Files.copy(Paths.get(//path//to//file//and//filename),
    Paths.get(//path//to//file//and//newfilename), StandardCopyOption.COPY_ATTRIBUTES);
0 голосов
/ 04 октября 2018

Не идеальное решение, но вместо обработки всплывающего окна мы можем напрямую принудительно указать путь к файлу в форме: [Я использовал штамп даты для создания новых имен файлов, но могла бы также использоваться некоторая другая логика viz- Random String appenderи т.д.]

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());
    }


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...