我有一个工作应用程序,可以在FTP服务器中下载特定文件。我有要下载的文件名,所以我只是在连接和使用:ftp.retrievefile(文件名,fileInputStream);

因此,现在我们必须更改FTP服务器,我认为这是Linux下运行的新一台FTP服务器(旧的是Windows)。现在,我可以下载包含ISO-8859-1字符串的名称的文件,例如ç€á。我尝试使用ftpClient.setControlencoding(“ ISO-8859-1”),刚刚在FTPCLIENT的构造函数之后使用,但它没有工作。当称为retreviefile时,它会返回false,因为它无法找到文件。但是它可以与没有这些字符串的文件名一起使用。

我正在从另一个文件中读取文件名...我曾经读过一个错误,我读了一个文件名为ISO_8859-1(但在文件中编码为UTF-8),然后尝试进行retreviefile,并与奇怪的名称中的字符。怎么了??

编辑:

这是服务器的答案:

Syst 215 Unix类型:L8

壮举211-FEATURE:EPRT EPSV MDTM PASV REST流尺寸TVFS 211 END

有帮助吗?

解决方案

好的,这解决了。我意识到GFTP在名称中以错误的编码上传。它正在使用UTF8

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top