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);
即可解决你的问题
哈哈哈哈哈哈哈哈哈!!!!!!!!!!!!!!!!!!!!