List of usage examples for java.nio.file Files move
public static Path move(Path source, Path target, CopyOption... options) throws IOException
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); }