Comment copier des fichiers en Groovy

J'ai besoin de copier un fichier dans Groovy et j'ai vu quelques façons de le réaliser sur le web:

1

new AntBuilder().copy( file:"$sourceFile.canonicalPath", 
                           tofile:"$destFile.canonicalPath")

2

command = ["sh", "-c", "cp src/*.txt dst/"]
Runtime.getRuntime().exec((String[]) command.toArray())

3

 destination.withDataOutputStream { os->  
    source.withDataInputStream { is->  
       os << is  
    }  
 }  

4

import java.nio.file.Files
import java.nio.file.Paths
Files.copy(Paths.get(a), Paths.get(b))

La 4ème voie semble la plus propre à moi, comme je ne suis pas sûr que c'est bon d'utiliser AntBuilder et quel poids il est, j'ai vu des gens de signaler des problèmes avec Groovy changement de version.
2ème méthode est OS dépendante, 3e pourrait ne pas être efficace.

Est-il quelque chose de Groovy pour copier des fichiers comme dans le 4ème déclaration ou dois-je simplement utiliser Java pour elle?

  • La question elle-même est une bonne réponse pour "Comment copier des fichiers dans le groovy" 🙂
  • J'ai eu unable to resolve class java.nio.files.Paths lors de l'utilisation de cette Gradle. J'utilise import java.nio.* et import java.nio.file.* à la place.
  • est droit, c'est java.nio.file.Paths.