File.renameTo(File) et déplacement de fichier

File.renameTo(File) et déplacement de fichier - Java - Programmation

Marsh Posté le 17-02-2003 à 11:31:31    

Hello world.
 
J'essaye de déplacer des fichiers et j'utilise donc la méthode File.renameTo(File).
Et j'ai un problème : cela fonctionne très bien quand je veux déplacer par exemple :
/tmp/test.txt
vers
/tmp/deplace/text.txt
 
Mais si je veux déplacer de  
/tmp/test.txt
vers  
/home/repertoire/test.txt
ça ne marche pas.
 
Si je veux déplacer de  
/home/repertoire/test.txt
vers  
/home/repertoire/test/test.txt
ça fonctionne aussi.
 
J'ai d'abord cru à un pbm de droits, mais là j'ai mis du 777 sur toutes les arborescences de départ et d'arrivée.
 
Quel est le pbm ??? à noter que /tmp et /home se trouvent sur deux partitions différentes.
Avez-vous déjà rencontrer ce pbm ?
Vais-je devoir copier et supprimer mon fichier pour le déplacer ?
 
J'utilise un JRE1.2 sous sunOs5.8.
 
Merci,
ch'Krosso.

Reply

Marsh Posté le 17-02-2003 à 11:31:31   

Reply

Marsh Posté le 17-02-2003 à 11:41:05    

...ça marche pas, ça marche pas, mais ça fait quoi au juste ?  
ça te balance une exception ? si oui, laquelle ?

Reply

Marsh Posté le 17-02-2003 à 11:41:58    

renameTo me renvoie false au lieu de true et le fichier n'a pas bougé d'un poil.
Ca marche pas quoi  :D


Message édité par krosso le 17-02-2003 à 11:43:07
Reply

Marsh Posté le 17-02-2003 à 13:22:22    

A vue de nez, c'est parce que les 2 répertoires (source et destination) ne sont pas sur le même disque physique. Du coup, ce n'est pas vraiment un déplacement que tu fais, mais une copie physique suivie d'une suppression (un déplacement ne touche pas au fichier, mais seulement au catalogue). Même si le shell encapsule les 2 opérations comme elles étaient les mêmes, du point de vue système d'exploitation, ce sont bien 2 actions différentes.

Reply

Marsh Posté le 17-02-2003 à 13:57:06    


C'est ce que je crois aussi.
renameTo() ne ferait vraiment que ce que son nom indique : renommer.
Je vais donc devoir faire une copie et une suppression moi-même.
Bon, spalamort non plus...

Reply

Marsh Posté le 17-02-2003 à 14:03:26    

krosso a écrit :


C'est ce que je crois aussi.
renameTo() ne ferait vraiment que ce que son nom indique : renommer.


 
bin oui :)


---------------
Just because you feel good does not make you right
Reply

Sujets relatifs:

Leave a Replay

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