Надеялся вы можете посмотреть на какой-то код для меня:Files.copy переименование файлов
public void Copy(Path sourcepath,
Path targetpath) throws IOException {
DateFormat dateFormat = new SimpleDateFormat("yyyymmdd");
File origfile = targetpath.toFile(); // Changes targetpath to file
String name = origfile.getName(); // Gets the name of the file to be updated
File file1 = new File(targetpath.toString() + "." + dateFormat.format(Calendar.getInstance().getTime())); //Create a new file instance with the name of the old file + date
origfile.renameTo(file1); //Rename the original file
origfile.createNewFile(); //Backup the original file
Files.delete(targetpath); //Delete the original file
Files.copy(sourcepath, targetpath);
}
Теперь все работает, то резервное копирование работ и копировальные работы. Мое первоначальное намерение состояло в том, чтобы переименовать файл, скопированный в резервную копию файла. (Отсюда и название строка = origfile.getName();
Это был мой код:
File file2 = new File(name);
File srcfile = sourcepath.toFile();
srcfile.renameTo(file2);
Теперь, что работал до точки, через некоторое время я начал получать ошибки IOException, поэтому после нескольких . часов изо всех сил, я сдался и просто удалил, что переименование части
и вот он все еще переименовывает файл, когда копируется
Теперь мой вопрос:.. есть ли Files.copy сделать это есть ли какая-то таинственная вещь? Что происходит здесь? Это ТОЧНО, что я хочу, чтобы он делал, b ut Я сбитый с толку как ад. Почему мой код работает?
и да, я хочу знать, на случай, если он сломается или перестанет работать. Я не могу что-то работать и не знаю, почему!
EDIT:
К сожалению был в немного спешке при проводке, позвольте мне задать мой вопрос немного более ясным:
мое намерение было, что мой SourcePath переименован в исходное имя файла который подкрепляется. У меня был код для его переименования, но он исключил IOException, поэтому я удалил его. Я использовал только Files.Copy, поэтому я предположил, что sourcepath сохранит его исходное значение и просто скопирует для каждого экземпляра в цикле for, который у меня есть. Но нет, он отлично переименовывается в оригинал каждого резервного файла. Где и как?
Я не понимаю, на что вопрос. –
Я хочу знать, почему мои файлы переименовываются, когда нет кода для их указания. то есть, почему файл sourcepath переименовывается, когда он копируется (он делает то, что я хочу, чтобы он делал, я хочу, чтобы он был переименован, но мой код переименования не работал, поэтому я удалил его) –
... Копирование файла не выполняет никакого «переименования», он копирует исходный файл в целевой файл. Вы передаете источник и цель. Вы копируете источник в цель. Вы переименовываете исходный файл и создаете CreateNewFile. Я все еще не понимаю, где такое замешательство. –