Domanda

Ho un'applicazione che lavora che scarica un file specifico nel server FTP. Ho il nome del file che vogliamo scaricare, così mi è stato semplicemente collegare e usare: ftp.retrieveFile (nome del file, FileInputStream);

Così ora abbiamo dovuto modificare il server FTP, e questo nuovo server ftp uno penso che gira sotto Linux (il vecchio era finestre). Ora non posso scaricare i file con nome che contiene ISO-8859-1 stringhe, come c a a O O. Ho provato a usare ftpClient.setControlEncoding ( "ISO-8859-1") subito dopo il costruttore della FTPClient ma non ha funzionato. quando viene chiamato retrevieFile restituisce false perché non riesce a trovare il file. Ma sta lavorando bene con i nomi dei file senza quelle stringhe.

Sto leggendo il nome del file da un altro file ... Ho fatto un errore una volta, che ho letto, il nome del file come ISO_8859-1 (ma è stato codificato come UTF-8 nel file) e poi provato a retrevieFile ed ha funzionato con strani caratteri nel nome. Quello che sta accadendo ??

EDIT:

Questa sono le risposte dal server:

SYST 215 UNIX Type: L8

FEAT 211-Caratteristiche:  EPRT  EPSV  MDTM  PASV  REST STREAM  DIMENSIONE  TVFS 211 Fine

È stato utile?

Soluzione

OK Questo è stato risolto. Mi resi conto che era gftp il caricamento dei file con la codifica sbagliata nel nome. Si stava usando UTF8

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top