让Apache的commons-net-3.3中的FTPClient支持中文

来源:互联网 发布:cp1200写频软件下载 编辑:程序博客网 时间:2024/06/06 00:38

最近做一个FTP客户端程序,要用到Apache的commons-net包中的FTPClient类,不过发现不支持中文,于是百度一下,果然有大牛给出解决方案,不过似乎得结合网上的两种方法,才能使自己的FTP客户端支持中文。

首先,在连接之后,登录之前,加上如下语句:
String charset = “GBK”;

if( FTPReply.isPositiveCompletion(Main.ftp.sendCommand(“OPTS UTF8”,”ON”)) ) {
charset = “UTF-8”;
}
ftpClient.setControlEncoding(charset);

然后,把传给FTPClient实例方法或类方法的参数中与文件路径有关的字符串形参用如下转换:

String fileName = new String(fileName.getBytes(charset),”ISO-8859-1”)

0 0