Problème de déplacement de fichier vers un Nas

Résolu
Evan59245 Messages postés 60 Date d'inscription   Statut Membre Dernière intervention   -  
Evan59245 Messages postés 60 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Mon problème dans mon programme Java est que je n'arrive pas à déplacer mes fichiers de mon ordinateur vers le NAS de mon entreprise.

Ce programme permet de changer le nom du fichier par rapport aux choix de l'utilisateurs, de le déplacer dans le dossier concerné du NAS, donc d'organiser, de standardiser les noms.

Donc le problème est :

(Fichier de base -> destination = réussit ou non)

Ordinateur -> ordinateur = true

Ordinateur -> nas = false

Nas -> Nas = true

Nas->Ordinateur = false



Je ne comprend pas pourquoi...

Merci de votre compréhension



Cdt

Evan Martho



A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

Chaque disque ou partition a son propre système de fichiers, il y en a différents types (FAT, NTFS, etc) et c'est ce système qui fait le lien entre le nom du fichier (y compris son arborescence de dossier) et le contenu écrit sur le disque.
Lorsque tu renommes un fichier (ordinateur→ordinateur ou NAS→NAS) le contenu écrit sur le disque reste au même endroit, c'est juste le nom qui change (éventuellement ces dossiers) par simple modification de la référence dans le système de fichier (idem pour la suppression, en réalité on efface pas le fichier, juste sa référence).
Lorsque tu changes de disque (ordinateur → NAS, NAS → ordinateur) tu dois déplacer tout le contenu du fichier, c'est à dire lire ce qui est physiquement sur le premier support pour l'écrire sur le second, sans oublier de mettre à jour le système de fichier (suppression d'un côté et création de l'autre).

Bref, tout cela pour dire qu'il va falloir physiquement copier tes fichiers si tu changes de support, ce qui va avoir un coût assez important en terme de temps (en fonction du débit en lecture et en écriture sur chacun des supports).
1
Evan59245 Messages postés 60 Date d'inscription   Statut Membre Dernière intervention  
 
Mhm d'accord mais la méthode renameTo permet justement de faire ça non ?
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020 > Evan59245 Messages postés 60 Date d'inscription   Statut Membre Dernière intervention  
 
Justement non, je t'invite à lire la Javadoc de renameTo qui mentionne ce cas :

https://docs.oracle.com/javase/8/docs/api/java/io/File.html#renameTo-java.io.File-

The rename operation might not be able to move a file from one filesystem to another
0
Evan59245 Messages postés 60 Date d'inscription   Statut Membre Dernière intervention  
 
En effet, je ne l'avais pas vu, donc qu'est ce qu'il me permettrait de justement le déplacer vers le Nas ?
0
Evan59245 Messages postés 60 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai utiliser la class Files de java avec la méthode move qui fonctionne très bien ! Merci à vous pour vos explications
0