«

»

Sep 03

JAVA 7 : copie de fichier et repertoire

La copie des fichiers et repertoires avec NIO.2 est devenue des plus simples. Elle se fait avec la méthode statique Files.copy().

/**
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
*/
Path source = Paths.get("C:/java7", "source.txt");
Path destination = Paths.get("C:/java7/copy", source.getFileName().toString());
try
{
   Files.copy(source, destination);
}
catch (IOException e)
{
    e.printStackTrace();
}

La méthode Files.copy() a deux autres surcharges qui permettent de copier un fichier à partir / vers un InputStream ou un OutputStream.

public static long copy(InputStream in, Path target, CopyOption... options) throws IOException
public static long copy(Path source, OutputStream out) throws IOException

Les méthodes Files.copy() peuvent prendre une liste d’arguments provenant des énumérationsStandardCopyOption et LinkOption.

  • REPLACE_EXISTING
  • COPY_ATTRIBUTES
  • NOFOLLOW_LINKS
import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;
import static java.nio.file.StandardCopyOption.COPY_ATTRIBUTES;
import static java.nio.file.LinkOption.NOFOLLOW_LINKS;