commons.net.ftp的中文目录问题

本人在使用commons.net.ftp时遇到的问题,无法将中文文件夹下的文档列表读出来,在网上一搜,

才发现许多人提问都没有解决,故贴代码于此,方便路过者。

import java.io.IOException;

import org.apache.commons.net.ftp.*;

public class FtpMSWordScanner {

 public static void main(String[] args) throws IOException { 
  FTPClient client = new FTPClient();  
        client.connect("202.202.68.189");
        client.login("ftp", "du45456");
       
        System.out.print("Connected to " + ".");
        System.out.print(client.getReplyString());
       
        //gb2312或gbk都可以的
        client.setControlEncoding("GBK");//   gb2312     
        //FTPFile [] files = client.listFiles("/Tools"); //郑大钢
       
        //中文字符,先要转码即可
        FTPFile [] files = client.listFiles(new String("郑大钢".getBytes("GBK"), "iso-8859-1")); //          
        System.out.println("number of files " + files.length);     
       
       
        for(int i  =0; i<files.length; ++i){    
         System.out.println( files[i].getName());
           
            if(files[i].isFile()){
               System.out.println("is an file..........." + files[i].getName());          
            }
        }  
 }
}
 

问题解决的关键在于下面两句代码:   

 client.setControlEncoding("GBK");//   gb2312      
      FTPFile [] files = client.listFiles(new String("郑钢".getBytes("GBK"), "iso-8859-1")); // 洪明坚

注意: 首先得保证你的项目已经加上了 commons-net-ftp, 和jakarta-oro-2.0.8两个压缩包 , 没有jakarta-oro,

listFiles()会报错。 什么,哪里有下, GOOGLE/BAIDU一下吧,呵呵。
        

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值