Bonjour,
Je suis en train de travailler sur un client Java qui doit donc tourner sous Windows et Linux. Ce client discute avec un serveur sous Linux.
Une des tâches à faire est de recevoir des noms de fichiers absolus, de les manipuler, de les stocker et de les renvoyer au serveur. J'avais donc pensé à utiliser la classe File.
Quand le client est sous Linux, aucun problème, puisque les deux implémentations sont identiques. Quand le client est sous Windows, il reçoit des chemins tels queet renvoie bien gentimement
Code : Sélectionner tout - Visualiser dans une fenêtre à part /home/toto/file.txtce que le serveur ne peut pas comprendre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part C:\home\toto\file.txt
J'aimerai si possible ne pas recoder le parsing des chemins Unix sous Windows...
Pour le début d'analyse que j'ai fait, la classe File utilise une instance statique de la classe abstraite FileSystem afin de normaliser les noms de fichiers. Sous Linux, il existe une implémentation nommée UnixFileSystem. J'imagine que sous Windows, il existe WindowsFileSystem. La classe File utilise la méthode native FileSystem.getFileSystem(), donc il est impossible de faire une substitution.
Avez-vous déjà eu ce problème ? L'avez-vous résolu ? Suis-je assez clair ?
Partager