我在用FTPClient类写了个批量删除FTP服务器上整个目录的程序,但是发现目录如果是中文的话,FTPClient.changeWorkingDirectory就无法进入到指定目录中,而且文件是中文的话删除也出现问题,总之对中文不支持。ftpClient.setControlEncoding这个方法也尝试了,可是用他只能解决ftpClient.list()列出文件信息的时候中文的问题,上面的问题还是没有解决。
在网上看了好多文章都没有解决的好办法,在查询资料的过程中发现有一个程序中是这样写的,好像可以解决中文的问题,但又找不到它调用的这个第三方的工具包,请各位兄台帮忙看一些这个包有用过的吗?要去哪下载?或有什么其他的方法可以解决中文的问题,万分感谢!!!
import org.uranus.util.StringUtils;
/**
* 远程文件路径编码(上传到ftp上的文件路径)
*
* @param remoteFilePath
* @return
*/
protected String enCodingRemoteFilePath(String remoteFilePath) {
return StringUtils.gbkToIso8859EnCoding(remoteFilePath);
}
就是上面的程序中org.uranus.util.StringUtils这个类
------解决方案--------------------
Commons-net包实现ftp服务器的访问
------解决方案--------------------
把中文转化为/uxxxx形式表达。
------解决方案--------------------
从方法名上看意思很简单写个简单的你试试
public static String gbkToIso(String para) {
try {
return new String(para.getBytes("GBK"), "ISO-8859-1");
} catch (UnsupportedEncodingException e) {
return "";
} catch (Exception e) {
return "";
}
}