vsftpd下载文件时内容乱码

我是研究僧i 提交于 2019-12-05 02:49:16

windows客户端访问Linux服务端的ftp并下载文档时,内容会出现乱码,这是由于vsftpd文件服务器不支持转码功能

通过java FTPClient下载

方法为

OutputStream is = new FileOutputStream(localFile);
ftp.retrieveFile(new String(f.getName().getBytes("GBK"),"UTF-8"), is);

这样会出现文件内容乱码,试过了改各种编码集,还是不行,最后发现!!!

在下载方法之前,改变outputstream为二进制,问题得到解决

 

改为

ftp.setFileType(ftp.BINARY_FILE_TYPE);

OutputStream is = new FileOutputStream(localFile);
ftp.retrieveFile(new String(f.getName().getBytes("GBK"),"UTF-8"), is);

即可解决你的问题

哈哈哈哈哈哈哈哈哈!!!!!!!!!!!!!!!!!!!!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!