Java.nio.les fichiers de Copie de fichiers
Quelqu'un peut me dire ce que j'ai fait de mal avec le code suivant. Je reçois pas d'erreurs qu'il va droit à la capture.
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class Main {
public static void main(String[] args) {
Path source = Paths.get("C:\\Users\\Public\\Pictures\\SamplePictures");
Path nwdir = Paths.get("D:\\NetbeansProjects\\CopyingFiles\\copiedImages");
try{
Files.copy(source, nwdir);
}catch (IOException e){
System.out.println("Unsucessful. What a surprise!");
}
}
}
Si vous imprimez des e.getMessage() dans l'attraper, alors elle pourrait vous dire.
Si vous imprimez votre stacktrace, vous pourriez avoir une meilleure idée de ce qui se passe. Ajouter de l'e.printStackTrace(System.out) dans le bloc catch.
Avez-vous essayé, par exemple,
Vous
Si vous imprimez votre stacktrace, vous pourriez avoir une meilleure idée de ce qui se passe. Ajouter de l'e.printStackTrace(System.out) dans le bloc catch.
Avez-vous essayé, par exemple,
e.printStackTrace()
? Vous aurez ainsi une meilleure description du problème.Vous
receive no errors
parce que vous avez ignoré. 😉OriginalL'auteur user1311422 | 2012-04-12
Vous devez vous connecter pour publier un commentaire.
Si vous jetez un oeil à la documentation Javadoc de Les fichiers.copie, vous remarquerez cette ligne (italiques ajoutés):
Donc, on dirait que vous avez besoin d'utiliser que walkFileTree méthode.
(Et que les commentateurs ont dit, d'imprimer des exceptions et ils vont souvent vous dire ce qui est mal!)
C'est gentil, mais, comme je l'ai dit, votre code ne fonctionnera pas parce que vous essayez de faire une copie récursive avec une fonction qui ne peut pas faire récursive des copies. Jetez un oeil à l'API lien que j'ai fourni.
Par copie récursive, entendez-vous le répertoire et les fichiers et répertoires à l'intérieur samplepictures. Si oui, - j'ai modifié le chemin d'accès pour accéder directement à un seul .fichier jpg avec le même message d'erreur. Toutes mes excuses si je suis absent de votre point.
Le problème est résolu. Un grand merci à Jon & les autres qui ont fait des commentaires.
Pas de problème. Qu'avez-vous de faire pour le réparer?
OriginalL'auteur Jon7
Est venu ici à la recherche d'un NIO Java7 approche récursive de la copie d'un répertoire vers un autre emplacement. Cela peut être fait avec
Files.walkFileTree
comme Jon7 mentionné dans l'autre réponse. Ce code je l'ai eu pour une simple copie de répertoire:Pour un exemple plus détaillé, qui gère également les attributs de fichier et d'écraser des fichiers existants, voir http://docs.oracle.com/javase/tutorial/essential/io/examples/Copy.java .
srcDir.relativize( fileOrDir )
va jeter unProviderMismatchException
si vous utilisez cette option pour copier à travers les différents systèmes de fichiers, par exemple, à partir d'un ZipFile par défaut.OriginalL'auteur pakat
C'est de cette façon que j'ai réussi à copier un fichier d'un emplacement à un autre:
OriginalL'auteur black_belt