J'aimerais copier un fichier d'un répertoire à un autre à l'aide de Java et des classes FileTils d'Apache Org Commons.
J'ai écrit un programme Java rapide pour tester sur mon système local. Voici le code. Le fichier existe, mais la copie du fichier à un autre répertoire ne fonctionne pas. Qu'est-ce que je rate? Y a-t-il une syntaxe inappropriée quelque part? P>
import org.apache.commons.io.FileUtils; import java.io.File; class MoveFile { public static void main(String[] args) { MoveFile myobj = new MoveFile(); myobj.moveTheFile(); } public void moveTheFile () { try { File destDir = new File("C:\\Folder1\\temp2"); File srcFile = new File("C:\\Folder1\\temp\\card.png"); FileUtils.copyFileToDirectory(srcFile, destDir); } catch(Exception e) { } } }
3 Réponses :
Ce n'est jamais une bonne idée de faire avaler des exceptions. Faites un Pour voir si tel est le problème, je vous recommanderais de le tester dans d'autres répertoires tels que E.PrintStackTrace () code> dans votre mécanisme de traitement d'exception pour plus d'informations. Comme vous n'avez pas spécifié d'autres informations, la première chose qui vous vient à l'esprit est que si vous utilisez Windows Vista ou ultérieurement, il vous demandera généralement le consentement de l'administrateur lors de la mise en place d'éléments directement dans votre
C: \ code> Répertoire. P>
Mes documents CODE> ou d'autre, désactivez l'UAC. P>
faire ou p> pour créer le répertoire temp2 code> premier. p> << / p>
Le répertoire TEMP2 est déjà créé sur le système afin que le répertoire ne soit pas nécessaire.
Répliqué votre erreur et il échoue uniquement lorsque le programme n'a pas la permission d'écrire sur le dossier de destination. Même attraper une stacktrace d'imprimante et d'impression ne montre aucune information et la méthode est assez silencieuse ... Si le dossier n'existe pas, la méthode ne le crée pas si vous ignorez cette correction possible. P>
Vérifier les autorisations d'écriture dans le dossier de destination p>
J'ai négligé une erreur dans la variable de répertoire de destination - il aurait dû être folder1 / temp / temp2. Le répertoire n'avait "lu que" les autorisations, alors j'ai changé cela. Maintenant, le programme de test fonctionne. Merci de votre aide.
Qu'est-ce que cela signifie ne fonctionne pas? des erreurs? Données non copiées?
Le fichier initial existe-t-il? Le répertoire de destination existe-t-il? Que dit l'exception quand il échoue?
Le fichier et le répertoire existent tous les deux. Il n'y a aucune exception connectée.
Incroyable, cette question m'aide à résoudre ma réponse.