В способе, где я двигаю файлы, переместив его параметры и, который должен реализовывать операцию, всегда у меня появляется ошибка. Если что-то бьет козырем меня, они могли бы помогать мне?
public void MoverArchivo(String oldPath, String oldName, String newPath) {
File f = null;
File f1 = null;
boolean bool = false;
try {
f = new File(oldPath+oldName);
f1 = new File(newPath+oldName);
if(f.renameTo(new File(newPath+oldName))) {
System.out.println("Archivo removido");
} else {
System.out.println("El archivo "+ oldName + " no pudo ser cambiado de destino");
}
} catch(Exception e) {
System.out.println("ADVERTENCIA: El archivo " + oldName + " no pudo ser cambiado de destino, CAUSA:" + e);
}
System.out.println("Termina archivo "+oldName);
System.out.println("----------------------------------------------------------------");
}
Основанный на твой ответ , я рекомендую тебе, чтобы предотвращать проблемы с этими случаями, использовать строитель File(String, String)
, который абстрагирует проблемы, которые у тебя есть, добавив характер separaciГіn папок:
Таким образом, ты cГіdigo:
f = new File(oldPath+oldName);
f1 = new File(newPath+oldName);
Меняется в:
f = new File(oldPath, oldName);
f1 = new File(newPath, oldName);
Уже encontrГ© моя ошибка, как кажется, во время распределения старого каталога оставалась приложенной последняя папка с файлом, делая одну direcciГіn не действительная, например:
Users/soporte02/Desktop/Carpeta1ArchivoEjemplo.pdf
то, что он был должен делать, состояло в том, чтобы прилагать его просто, распределив старый и новый каталог, двойную диагональ //
для того, чтобы он в конце концов оставался asГ-:
Users/soporte02/Desktop/Carpeta1/ArchivoEjemplo.pdf
mГ©todo сейчас остался asГ-:
public void MoverArchivo(String oldPath, String oldName, String newPath)
{
File f = null;
boolean bool = false;
try{
f = new File(oldPath + "//" + oldName);
if(f.renameTo(new File(newPath+ "//" + oldName)))
{
System.out.println("Archivo reubicado");
}
else
{
System.out.println("El archivo "+ oldName + " no pudo ser cambiado de destino");
}
}
catch(Exception e)
{
e.printStackTrace(System.out);
}
}
Восток mГ©todo это использовал в цикле, чтобы двигать все файлы Гєnicamente PDF, с одной папки до другой.
Старайся комментировать эту линию:
f1 = new File(newPath+oldName);
Если я не ошибаюсь, сделав эту линию, он создает файл и потом, когда ты хочешь двинуть имя, был размещен, чтобы создавать файл там, тогда дает тебе ошибку.
Если у тебя есть больше сомнений, прочитай следующую ссылку: