172 votes

Copier des fichiers d'un répertoire à un autre en Java

Je veux copier des fichiers d'un répertoire à un autre (sous-répertoire) à l'aide de Java. J'ai un répertoire, dir, avec des fichiers texte. Je itérer sur les 20 premiers fichiers dir, et que vous voulez les copier dans un autre répertoire dans le dir répertoire que j'ai créé juste avant l'itération. Dans le code, je veux copier l' review (ce qui représente le ième fichier texte ou examen) trainingDir. Comment puis-je faire cela? Il ne semble pas être une fonction (ou je ne pouvais pas trouver). Je vous remercie.

boolean success = false;
File[] reviews = dir.listFiles();
String trainingDir = dir.getAbsolutePath() + "/trainingData";
File trDir = new File(trainingDir);
success = trDir.mkdir();
for(int i = 1; i <= 20; i++) {
    File review = reviews[i];

}

184voto

Arun P Johny Points 151748

Pour l’instant, cela devrait résoudre votre problème

``classe de bibliothèque apache commons-io , disponible depuis la version 1.2.

À l’aide des outils tiers au lieu d’écrire tous les services publics par l’ourself semble être une meilleure idée. Il peut économiser du temps et autres ressources précieuses.

45voto

Michael Borgwardt Points 181658

Il n'existe pas de méthode de copie de fichiers dans la Norme API (encore). Vos options sont les suivantes:

  • Écrivez vous-même, à l'aide d'un FileInputStream, un FileOutputStream et un tampon de copie d'octets à partir de l'une à l'autre - ou, mieux encore, utiliser FileChannel.transferTo()
  • L'Utilisateur Apache Commons FileUtils
  • Attendre NIO2 dans Java 7

44voto

Glen Best Points 11455

En Java 7, là est une méthode standard pour copier des fichiers en java :

Files.Copy.

Il s’intègre avec o/s native e/s pour des performances élevées.

Voir mon A sur manière concise Standard pour copier un fichier en Java ? pour une description complète de l’utilisation.

29voto

Brian Points 7072

L’exemple ci-dessous, des Bouts de Java est plutôt simple. J’ai depuis passé à Groovy pour les opérations portant sur le système de fichiers - beaucoup plus facile et plus élégant. Mais voici les conseils de Java, celle que j’ai utilisé dans le passé. Il lui manque la gestion des exceptions robuste qui est nécessaire pour le rendre infaillible.

23voto

Janusz Points 52607

Si vous souhaitez copier un fichier, déplacez pas, vous pouvez coder comme ça.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X