Подтвердить что ты не робот

Как перемещать файл из одного местоположения в другое место в java?

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

спасибо заранее.

4b9b3361

Ответ 1

myFile.renameTo(new File("/the/new/place/newName.file"));

File # renameTo делает это (он может не только переименовывать, но и перемещаться между каталогами, по крайней мере, в одной файловой системе).

Переименовывает файл, обозначенный этим абстрактным путем.

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

Если вам требуется более комплексное решение (например, для перемещения файла между дисками), посмотрите Apache Commons FileUtils # moveFile

Ответ 2

С помощью Java 7 или новее вы можете использовать Files.move(from, to, CopyOption... options).

например.

Files.move(Paths.get("/foo.txt"), Paths.get("bar.txt"), StandardCopyOption.REPLACE_EXISTING);

Подробнее см. документацию Files

Ответ 3

Чтобы переместить файл, вы также можете использовать Jakarta Commons IOs FileUtils.moveFile

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

Ответ 5

Вы можете выполнить внешний инструмент для этой задачи (например, copy в средах Windows), но, чтобы сохранить переносимый код, общий подход заключается в следующем:

  • прочитать исходный файл в памяти
  • записать содержимое в файл в новом месте
  • удалить исходный файл

File#renameTo будет работать до тех пор, пока исходное и целевое местоположение находятся на одном уровне. Лично я бы не использовал его для перемещения файлов в разные папки.

Ответ 6

Просто добавьте пути к исходной и целевой папкам.

Он скопирует все файлы и папку из исходной папки в папке назначения.

    File destinationFolder = new File("");
    File sourceFolder = new File("");

    if (!destinationFolder.exists())
    {
        destinationFolder.mkdirs();
    }

    // Check weather source exists and it is folder.
    if (sourceFolder.exists() && sourceFolder.isDirectory())
    {
        // Get list of the files and iterate over them
        File[] listOfFiles = sourceFolder.listFiles();

        if (listOfFiles != null)
        {
            for (File child : listOfFiles )
            {
                // Move files to destination folder
                child.renameTo(new File(destinationFolder + "\\" + child.getName()));
            }

            // Add if you want to delete the source folder 
            sourceFolder.delete();
        }
    }
    else
    {
        System.out.println(sourceFolder + "  Folder does not exists");
    }

Ответ 7

Попробуйте следующее: -

  boolean success = file.renameTo(new File(Destdir, file.getName()));

Ответ 8

Files.move(source, target, REPLACE_EXISTING);

Вы можете использовать объект Files

Подробнее о Файлы