Ошибка в методе, двинув файлы с одного каталога до другого

В способе, где я двигаю файлы, переместив его параметры и, который должен реализовывать операцию, всегда у меня появляется ошибка. Если что-то бьет козырем меня, они могли бы помогать мне?

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("----------------------------------------------------------------");
}
3
задан 15.02.2016, 17:41
3 ответа

Основанный на твой ответ , я рекомендую тебе, чтобы предотвращать проблемы с этими случаями, использовать строитель 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);
2
ответ дан 24.11.2019, 14:53
  • 1
    Я очень новый в этом, спасибо за комментарий, помогаю мне очень много. – Kevin M. 15.02.2016, 18:48
  • 2
    @KevinM. желанный в es stackoverflow, если я помогаю какому-то из ответов решать твою проблему, ты можешь делать upvote и(или) принимать ту, что больше ты считаешь подходящим, могут быть ответы, которые помогали бы в solicionar твоему вопросу формы и другим, которые дополняли бы ее, если ты думаешь, что они помогают каким-то образом, не сомневайся в, upvote и(или) в том, чтобы соглашаться, ты можешь смотреть это соединение es.stackoverflow.com/tour типов Привета – Angel Angel 15.02.2016, 19:10

Уже 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, с одной папки до другой.

2
ответ дан 24.11.2019, 14:53

Старайся комментировать эту линию:

f1 = new File(newPath+oldName);

Если я не ошибаюсь, сделав эту линию, он создает файл и потом, когда ты хочешь двинуть имя, был размещен, чтобы создавать файл там, тогда дает тебе ошибку.

Если у тебя есть больше сомнений, прочитай следующую ссылку:

http://docs.oracle.com/javase/6/docs/api/java/io/File.html

0
ответ дан 24.11.2019, 14:53

Теги

Похожие вопросы