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

Résolu/Fermé
Evan59245 Messages postés 60 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 18 février 2019 - 5 avril 2016 à 10:56
Evan59245 Messages postés 60 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 18 février 2019 - 6 avril 2016 à 10:21
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 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
5 avril 2016 à 21:34
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 vendredi 26 avril 2013 Statut Membre Dernière intervention 18 février 2019
6 avril 2016 à 09:02
Mhm d'accord mais la méthode renameTo permet justement de faire ça non ?
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015 > Evan59245 Messages postés 60 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 18 février 2019
Modifié par KX le 6/04/2016 à 09:14
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 vendredi 26 avril 2013 Statut Membre Dernière intervention 18 février 2019
6 avril 2016 à 09:16
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 vendredi 26 avril 2013 Statut Membre Dernière intervention 18 février 2019
6 avril 2016 à 10:21
J'ai utiliser la class Files de java avec la méthode move qui fonctionne très bien ! Merci à vous pour vos explications
0