解决方案 »

  1.   

    代码中的代码ftp指的是什么?
    是ftp的根目录还是一个ftp对象?
    如果是ftp对象的话获取不到的话就很正常了。。
      

  2.   

    public FTPClient ftp;是对象
      

  3.   

    ftp.changeWorkingDirectory(directory);
    我觉得这个方法是不是就把ftp的根目录确定了,然后使用FTPFile[] files = ftp.listFiles();获取目录下的文件,不是这么一回事情吗?
      

  4.   

    ftp是根目录,ftp.changeWorkingDirectory(directory);这个就是确定根目录的。
      

  5.   

    我这是查询D:\\下的所有文件 不知道能不能帮到你!
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    // 创建File对象
    File file = new File("d:\\");
    // 使用递归方法做
    dg(file);
    } private static void dg(File fl) {
    // TODO Auto-generated method stub
    // 创建file数组用来存储数据
    File[] filArr = fl.listFiles();
    // 判断FiLe数组不能为空
    if (filArr != null) {
    // 使用for遍历
    for (File f : filArr) {
    // 如果是文件夹 就递归
    if (f.isDirectory()) {
    // 递归
    dg(f);
    } else if (f.isFile()) { System.out.println(f.getAbsolutePath());
    }
    }
    }
    }
      

  6.   

    public FTPClient ftp;是对象的话你找找方法,应该有一个ftp对象获取主目录的方法。FTPFile[] files = ftp.listFiles();
    这里的这个ftp我感觉应该代指的是主目录才对。
      

  7.   

    你先看看登陆的用户有没有权限访问目录中的文件,如果只是为了获取目录下的文件名可以这样:
    ftp.listNames();遍历查询;
    当然你如果要用ftp.listFiles();就要截取字符串了,每一行文件名前面的长度是固定的:
    -rw-rw-rw-   1 ftp      ftp        52068 Aug 21  2012 web.xml
      

  8.   

    程序没有问题,是自己的jdk的问题,不能使用eclipse自带的jre。要使用外部JDK。已经解决。
      

  9.   

    我也遇到你这样的问题,改了JDK版本也没有解决,请帮忙指导一下呗
      

  10.   

    我的不是jre 造成的,也遇到相同的问题,楼主怎么破?