Example usage for java.nio.file Files move

List of usage examples for java.nio.file Files move

Introduction

In this page you can find the example usage for java.nio.file Files move.

Prototype

public static Path move(Path source, Path target, CopyOption... options) throws IOException 

Source Link

Document

Move or rename a file to a target file.

Usage

From source file:jfix.zk.Mediafield.java

public void copyToFile(File target) {
    if (target == null) {
        return;/* w  ww  .java  2s. c o  m*/
    }
    try {
        if (codemirror.isVisible()) {
            FileUtils.writeStringToFile(target, codemirror.getValue(), "UTF-8");
            codemirror.setSyntax(FilenameUtils.getExtension(target.getName()));
        } else {
            if (media != null) {
                Files.move(Medias.asFile(media).toPath(), target.toPath(), StandardCopyOption.REPLACE_EXISTING);
            }
        }
    } catch (IOException e) {
        throw new RuntimeException(e.getMessage(), e);
    }
}

From source file:org.apache.storm.daemon.supervisor.AdvancedFSOps.java

/**
 * Move fromDir to toDir, and try to make it an atomic move if possible
 * @param fromDir what to move//from  w  w  w  .  ja  va2 s. co m
 * @param toDir where to move it from
 * @throws IOException on any error
 */
public void moveDirectoryPreferAtomic(File fromDir, File toDir) throws IOException {
    FileUtils.forceMkdir(toDir);
    Files.move(fromDir.toPath(), toDir.toPath(), StandardCopyOption.ATOMIC_MOVE);
}

From source file:org.roda.core.storage.fs.FSUtils.java

private static void moveRecursively(final Path sourcePath, final Path targetPath, final boolean replaceExisting)
        throws GenericException {
    final CopyOption[] copyOptions = replaceExisting ? new CopyOption[] { StandardCopyOption.REPLACE_EXISTING }
            : new CopyOption[] {};

    try {// w  w w  . ja v  a 2  s  .c o m
        Files.walkFileTree(sourcePath, new SimpleFileVisitor<Path>() {

            @Override
            public FileVisitResult preVisitDirectory(Path sourceDir, BasicFileAttributes attrs)
                    throws IOException {
                Path targetDir = targetPath.resolve(sourcePath.relativize(sourceDir));
                LOGGER.trace("Creating target directory {}", targetDir);
                Files.createDirectories(targetDir);
                return FileVisitResult.CONTINUE;
            }

            @Override
            public FileVisitResult visitFile(Path sourceFile, BasicFileAttributes attrs) throws IOException {
                Path targetFile = targetPath.resolve(sourcePath.relativize(sourceFile));
                LOGGER.trace("Moving file from {} to {}", sourceFile, targetFile);
                Files.move(sourceFile, targetFile, copyOptions);
                return FileVisitResult.CONTINUE;
            }

            @Override
            public FileVisitResult postVisitDirectory(Path sourceFile, IOException exc) throws IOException {
                LOGGER.trace("Deleting source directory {}", sourceFile);
                Files.delete(sourceFile);
                return FileVisitResult.CONTINUE;
            }
        });
    } catch (IOException e) {
        throw new GenericException(
                "Error while moving (recursively) directory from " + sourcePath + " to " + targetPath, e);
    }

}

From source file:ec.edu.chyc.manejopersonal.util.ServerUtils.java

/**
 * Mueve los archivos subidos de acuerdo al nombre del archivo que ha tenido antes y ahora. Si son diferentes,
 * entonces se mueve el anterior y se lo trata como "eliminado", posteriormente si el nombre del archivo nuevo
 * existe, se mueve del temporal al directorio destino. Si los dos nombres de archivos son iguales, no se realiza ninguna accin.
 * @param nombreArchivoAntiguo Nombre del archivo antiguo ya almacenado y que se debe encontrar en pathDestino, 
 * se lo tratar como eliminado (llevar el prefijo 'eliminado_' si este nombre es diferente al nombreArchivoNuevo.
 * @param nombreArchivoNuevo Nombre del archivo nuevo que se encuentra en el Path Temporal. Si el nombre no est vaco,
 * se mover el archivo del directorio temporal al pathDestino.
 * @param pathDestino Ruta destino donde se almacenar el nombreArchivoNuevo.
 * @throws IOException En caso de que no se pueda mover ya sea el archivo antiguo o el archivo nuevo.
 *//*ww w  .  j ava 2s  .  co  m*/
public static void procesarAntiguoNuevoArchivo(String nombreArchivoAntiguo, String nombreArchivoNuevo,
        Path pathDestino) throws IOException {

    //si no se ha cambiado el nombre del archivo, es porque el archivo subido no se ha modificado            
    boolean archivoSeMantiene = false;
    if (!nombreArchivoAntiguo.isEmpty() && nombreArchivoAntiguo.equals(nombreArchivoNuevo)) {
        archivoSeMantiene = true;
    }

    if (!nombreArchivoAntiguo.isEmpty() && !archivoSeMantiene) {
        //en caso de que existi un archivo almacenado anteriormente, se elimina, pero solo en caso de que se haya modificado el archivo original
        Path pathArchivoAntiguo = pathDestino.resolve(nombreArchivoAntiguo).normalize();
        if (Files.exists(pathArchivoAntiguo) && Files.isRegularFile(pathArchivoAntiguo)) {
            Path pathNuevoDestino = ServerUtils.getPathTemp().resolve("eliminado_" + nombreArchivoAntiguo);
            Files.move(pathArchivoAntiguo, pathNuevoDestino, REPLACE_EXISTING);
        }
    }

    if (!nombreArchivoNuevo.isEmpty() && !archivoSeMantiene) {
        //si se subi el nuevo archivo, copiar del directorio de temporales al original de destino, despus eliminar el archivo temporal
        // solo realizarlo si se modific el archivo original
        Path origen = ServerUtils.getPathTemp().resolve(nombreArchivoNuevo);
        Path destino = pathDestino.resolve(nombreArchivoNuevo).normalize();

        //FileUtils.copyFile(origen, destino);
        Files.move(origen, destino, REPLACE_EXISTING);
    }
}

From source file:org.pieShare.pieShareApp.service.shareService.ShareService.java

@Override
public void localFileTransferComplete(PieFile file, boolean source) {
    try {/* w  ww . java  2  s .co  m*/
        File localTmpFile = this.fileService.getAbsoluteTmpPath(file).toFile();
        File localTmpFileParent = this.fileService.getAbsoluteTmpPath(file).toFile().getParentFile();
        File localEncTmpFile = new File(localTmpFileParent, file.getFileName() + ".enc");

        if (!source) {
            File localFile = this.fileService.getAbsolutePath(file).toFile();

            //todo: does this belong into the fileService?
            if (!localFile.getParentFile().exists()) {
                localFile.getParentFile().mkdirs();
            }

            this.fileEncryptionService.decryptFile(localEncTmpFile, localTmpFile);

            this.fileWatcherService.addPieFileToModifiedList(file);
            Files.move(localTmpFile.toPath(), localFile.toPath(), StandardCopyOption.REPLACE_EXISTING);

            //this.fileWatcherService.addPieFileToModifiedList(file);
            //FileUtils.moveFile(localTmpFile, localFile);
            //todo: this i wrong here!
            //todo: has to move to the according task
            this.fileWatcherService.removePieFileFromModifiedList(file);

            this.fileWatcherService.addPieFileToModifiedList(file);
            this.fileService.setCorrectModificationDate(file);

            //todo: is it better to delete the enc file or not?
        }

        //localTmpFile.delete();

        this.manipulatePieFileState(file, -1);
    } catch (IOException ex) {
        PieLogger.error(this.getClass(), "Error!", ex);
    }
}

From source file:com.datastax.loader.CqlDelimLoadTask.java

private void cleanup(boolean success) throws IOException {
    if (null != badParsePrinter) {
        if (format.equalsIgnoreCase("jsonarray"))
            badParsePrinter.println("]");
        badParsePrinter.close();//from   w ww  .ja  va2 s.c  om
    }
    if (null != badInsertPrinter) {
        if (format.equalsIgnoreCase("jsonarray"))
            badInsertPrinter.println("]");
        badInsertPrinter.close();
    }
    if (null != logPrinter)
        logPrinter.close();
    if (success) {
        if (null != successDir) {
            Path src = infile.toPath();
            Path dst = Paths.get(successDir);
            Files.move(src, dst.resolve(src.getFileName()), StandardCopyOption.REPLACE_EXISTING);
        }
    } else {
        if (null != failureDir) {
            Path src = infile.toPath();
            Path dst = Paths.get(failureDir);
            Files.move(src, dst.resolve(src.getFileName()), StandardCopyOption.REPLACE_EXISTING);
        }
    }
}

From source file:org.jahia.services.render.filter.StaticAssetsFilter.java

private static void atomicMove(File src, File dest) throws IOException {
    if (src.exists()) {
        // perform the file move
        try {/*from ww w .  ja va  2s.  c  om*/
            Files.move(Paths.get(src.toURI()), Paths.get(dest.toURI()), StandardCopyOption.ATOMIC_MOVE);
        } catch (Exception e) {
            logger.warn("Unable to move the file {} into {}. Copying it instead.", src, dest);
            try {
                FileUtils.copyFile(src, dest);
            } finally {
                FileUtils.deleteQuietly(src);
            }
        }
    }
}

From source file:uk.ac.ebi.metabolights.webservice.utils.FileUtil.java

/**
 * Move a single file from a private FTP folder to MetaboLights
 *
 * @param fileName//from w w w .j  a v  a  2  s.  com
 * @param ftpFolder
 * @param studyFolder
  * @return
 * @author jrmacias
 * @date 20151104
  */
private static boolean moveFileFromFTP(String fileName, String ftpFolder, String studyFolder) {
    String privateFTPRoot = PropertiesUtil.getProperty("privateFTPRoot"); // ~/ftp_private/
    boolean result = false;

    // move the file
    Path filePath = Paths.get(privateFTPRoot + File.separator + ftpFolder + File.separator + fileName);
    Path studyPath = Paths.get(studyFolder + File.separator + fileName);

    try {
        Files.move(filePath, studyPath, ATOMIC_MOVE);
        result = true;
    } catch (IOException ex) {
        logger.error("Error: can't move the file. {}", ex.getMessage());
    }

    return result;
}

From source file:codes.thischwa.c5c.DispatcherPUT.java

private void imageProcessingAndSizeCheck(Path tempPath, String sanitizedName, long fileSize,
        FilemanagerConfig conf) throws C5CException, IOException {
    Integer maxSize = (conf.getUpload().isFileSizeLimitAuto()) ? PropertiesLoader.getMaxUploadSize()
            : conf.getUpload().getFileSizeLimit();
    if (fileSize > maxSize.longValue() * 1024 * 1024)
        throw new FilemanagerException(FilemanagerAction.UPLOAD,
                FilemanagerException.Key.UploadFilesSmallerThan, String.valueOf(maxSize));
    String extension = FilenameUtils.getExtension(sanitizedName);

    // check image only
    boolean isImageExt = checkImageExtension(sanitizedName, conf.getUpload().isImagesOnly(),
            conf.getImages().getExtensions());
    if (!isImageExt)
        return;/*  ww  w .ja v a2  s  .  c o  m*/

    // remove exif data
    Path woExifPath = UserObjectProxy.removeExif(tempPath);
    if (!tempPath.equals(woExifPath)) {
        Files.move(woExifPath, tempPath, StandardCopyOption.REPLACE_EXISTING);
    }

    // check if the file is really an image
    InputStream in = new BufferedInputStream(Files.newInputStream(tempPath, StandardOpenOption.READ));
    Dimension dim = getDimension(in);
    if (isImageExt && dim == null)
        throw new FilemanagerException(FilemanagerAction.UPLOAD, FilemanagerException.Key.UploadImagesOnly);
    IOUtils.closeQuietly(in);

    // check if resize is enabled and fix it, if necessary 
    Resize resize = conf.getImages().getResize();
    if (resize.isEnabled()
            && (dim.getHeight() > resize.getMaxHeight() || dim.getWidth() > resize.getMaxWidth())) {
        logger.debug("process resize");
        StreamContent sc = connector.resize(new BufferedInputStream(Files.newInputStream(tempPath)), extension,
                new Dimension(resize.getMaxWidth(), resize.getMaxHeight()));
        Files.copy(sc.getInputStream(), tempPath, StandardCopyOption.REPLACE_EXISTING);
        IOUtils.closeQuietly(sc.getInputStream());
    }
}

From source file:org.codice.ddf.configuration.admin.ConfigurationAdminMigration.java

private void moveFile(Path source, Path destination) throws IOException {
    Files.move(source, destination.resolve(source.getFileName()), REPLACE_EXISTING);
}