[JAVA] Copie de fichier et destination inexistante

Copie de fichier et destination inexistante [JAVA] - Java - Programmation

Marsh Posté le 19-08-2004 à 16:28:38    

Je suis en train de faire un eptit soft qui copie des fichiers dans des répertoires qui n'existent pas forcément, et même si le répertoire existe, le fichier lui n'existe pas forcément non plus, ce qui fait que régulièrement j'ai des messages dans la console du type :
 
java.io.FileNotFoundException: \\UR390D\ARCHLOTUS\TestCopie\roy\User.id (Le chemin d'accès spécifié est introuvable)
 
Comment controuner le problème ? J'ai essayé de gérer avec les méthodes createFile et mkdir de la classe File, mais ça ne fonctionne pas, je dois pas m'y prendre comme il faut. Pour mes copies, j'utilise des Stream, et ça fonctionne plutôt bien.
 
Merci d'avance :jap:


---------------
Au coeur du swirl - Mon feed
Reply

Marsh Posté le 19-08-2004 à 16:28:38   

Reply

Marsh Posté le 19-08-2004 à 16:37:36    

Il existe des primitives permettant de tester l'existence de dossiers et de fichiers.
 
Vérifies l'existence de tes fichiers avant de les utiliser.

Reply

Marsh Posté le 19-08-2004 à 19:32:27    

tonRep.mkdirs() permet de créer tous les répertoires nécessaires à la création du répertoire tonRep.
 
exemple : on imagine que t'ais rien sur d: et que tu veille créer le fichier d:\tralala\pouetpouet\beuh.txt
 
tu fais :

Code :
  1. File file = new File("d:/tralala/pouetpouet/beuh.txt" );
  2. boolean ok = file.getParentFile().mkdirs();
  3. // ca ca créé les rep d:/tralala et d:/tralala/pouetpouet
  4. if (! ok) {
  5.   // problème lors de la création => lance la même exception  
  6.   // que si tu vais voulu créer ton fichier directement
  7.   throw new FileNotFoundException(file.toString());
  8. } else {
  9.   OutputStream out = new FileOutputStream(file); // là ca va passer
  10.   // ...
  11. }


Message édité par benou le 19-08-2004 à 19:34:46

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 20-08-2004 à 08:18:41    

benou a écrit :

tonRep.mkdirs() permet de créer tous les répertoires nécessaires à la création du répertoire tonRep.
 
exemple : on imagine que t'ais rien sur d: et que tu veille créer le fichier d:\tralala\pouetpouet\beuh.txt
 
tu fais :

Code :
  1. File file = new File("d:/tralala/pouetpouet/beuh.txt" );
  2. boolean ok = file.getParentFile().mkdirs();
  3. // ca ca créé les rep d:/tralala et d:/tralala/pouetpouet
  4. if (! ok) {
  5.   // problème lors de la création => lance la même exception  
  6.   // que si tu vais voulu créer ton fichier directement
  7.   throw new FileNotFoundException(file.toString());
  8. } else {
  9.   OutputStream out = new FileOutputStream(file); // là ca va passer
  10.   // ...
  11. }



 
Merci benou, ça marche super ton code, t'es un chef :)


---------------
Au coeur du swirl - Mon feed
Reply

Marsh Posté le 20-08-2004 à 16:47:59    

Tu peux vérifier si ton repertoire existe:
 
File file = new File("d:/tralala/pouetpouet/beuh.txt" );  
  boolean ok = file.getParentFile().exist();
// true s'il existe
// false sinon

Reply

Marsh Posté le 20-08-2004 à 16:51:48    

isDirectory() tant qu'à faire ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed