Question

J'ai une application de travail qui télécharge un fichier spécifique dans le Ftp Server. J'ai le nom que je veux télécharger, donc je viens de connecter et d'utiliser: ftp.retrieveFile (filename, FileInputStream);

Alors maintenant, nous avons dû changer le serveur ftp, et ce nouveau serveur ftp je pense que fonctionne sous linux (l'ancien était fenêtres). Maintenant, je ne peux pas télécharger des fichiers avec le nom qui contient des chaînes ISO-8859-1, comme á ã ç õ ó. J'ai essayé d'utiliser ftpClient.setControlEncoding ( « ISO-8859-1 ») juste après le constructeur du ClientFTP mais il didnt travail. quand retrevieFile est appelé il retourne faux, car il ne parvient pas à trouver le fichier. Mais il fonctionne très bien avec les noms de fichiers sans ces chaînes.

Je suis en train de lire le nom d'un autre fichier ... J'ai fait une erreur une fois, que je lis, le nom de fichier comme ISO_8859-1 (mais il a été codé en UTF-8 dans le fichier), puis tryed à retrevieFile et cela a fonctionné avec des personnages étranges dans le nom. Ce qui se passe ??

EDIT:

Ce sont des réponses du serveur:

SYST 215 UNIX Type: L8

FEAT 211 Caractéristiques:  EPRT  EPSV  MDTM  PASV  REST STREAM  TAILLE  TVFS 211 Fin

Était-ce utile?

La solution

OK Cela a été résolu. J'ai réalisé que gftp a télécharger les fichiers avec un mauvais encodage dans le nom. Il utilisait UTF8

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top