/ 中存储网

让Apache ftp服务器支持中文目录的方法

2014-04-13 11:58:01 来源:itjs.cn
对于apache commons-net 包下的FTP中文目录的不支持,经过测试一下方法可以解决中文目录问题:

/**

  * 功能描述:实现文件路径为中文的FTP功能

  * @param instr 输入的字符串

  * @return 经过编码后的字符串

  */

 public String encode(String instr){

  String newStr = "";

  try {

   byte[] bytes = instr.getBytes("GBK");

   newStr = new String(bytes, "ISO-8859-1");

  } catch (Exception e) {

   e.printStackTrace();

  }

  return newStr;

 }

 /**

  * 功能描述:实现文件路径乱码转化为中文功能

  * @param instr 输入的字符串

  * @return 经过编码后的字符串

  */

 public String unencode(String instr){

  String newStr = "";

  try {

   byte[] bytes = instr.getBytes("ISO-8859-1");

   newStr = new String(bytes, "GBK");

  } catch (Exception e) {

   e.printStackTrace();

  }

  return newStr;

 }

经过编码转换后的路径可以实现中文目录的支持。另外对获取文件列表时的乱码问题,可以用:

ftpClient.setControlEncoding("GBK");

以上代码仅供参考,谢谢!