Java连接FTP服务器下载文件乱码的问题

1.统一项目编码

可以参考

2.FTPClient设置编码

ftpClient.setControlEncoding("GBK");
             FTPClientConfig conf = new FTPClientConfig(FTPClientConfig.SYST_NT);
             conf.setServerLanguageCode("zh");

3.FTP传输文件的方式处理

除了设置编码,还有可能不是下载的文件乱码了,而是传输形式导致了文件损坏。

FTP内部默认以ASCII的形式进行文件传输,但是这中传输方式可能会导致文件内容损坏,尤其是文本文件和图片文件,我们配置让他以二进制的形式上传,下载文件即可

FTP默认传输形式:

我们在自己的代码中定义二进制传输

ftpClient.setFileType(ftpClient.BINARY_FILE_TYPE);
1.统一项目编码 可以参考 2.FTPClient设置编码 ftpClient.setControlEncoding("GBK"); FTPClientConfig conf = new FTPClientConfig(FTPClientConfig.SYST_NT); conf.setServerLanguageCode("zh"); 3.FTP传输文件的方式处理 除了设置编码,还有可能不是下载的文件乱码了,而是传输形式导致了文件损坏。 FTP内部默认以ASCII的形式进行文件传输,但是这中传输方式可能会导致文件内容损坏,尤其是文本文件和图片文件,我们配置让他以二进制的形式上传,下载文件即可 FTP默认传输形式: 我们在自己的代码中定义二进制传输 ftpClient.setFileType(ftpClient.BINARY_FILE_TYPE);
经验分享 程序员 微信小程序 职场和发展