建立连接正常,
private FTPClient f = new FTPClient();
try {
f.connect("192.168.0.35");
f.login("sa", "sa");
System.out.println("已经连接至FTP服务器");
} catch (Exception e) {
e.printStackTrace();

建立连接后执行
FTPFile[] ff=f.listFiles();
取当前路径下的所有文件列表出现异常,异常如下:
org.apache.commons.net.ftp.parser.ParserInitializationException: Unknown parser type: Transfer complete.
at org.apache.commons.net.ftp.parser.DefaultFTPFileEntryParserFactory.createFileEntryParser(DefaultFTPFileEntryParserFactory.java:118)
at org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:2358)
at org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2141)
at org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2188)
at test.testftp.GetAllFilename(testftp.java:65)
at test.testftp.<init>(testftp.java:25)
at test.testftp.main(testftp.java:152)
求帮忙,谢谢

解决方案 »

  1.   

    占据有利地形--沙发
    呵呵舒舒服服地帮"jade0428()"顶一下
      

  2.   

    应该没问题啊。
    你先改变一下目录看看。
    f.changeWorkingDirectory(folder);
    FTPFile[] files = client.listFiles();
      

  3.   

    按你说的方法改变一下目录,这次的错误提示变了,而且去掉改变目录提示仍然是这次的新错误提示
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/oro/text/regex/MalformedPatternException
    at org.apache.commons.net.ftp.parser.RegexFTPFileEntryParserImpl.<init>(RegexFTPFileEntryParserImpl.java:75)
    at org.apache.commons.net.ftp.parser.ConfigurableFTPFileEntryParserImpl.<init>(ConfigurableFTPFileEntryParserImpl.java:57)
    at org.apache.commons.net.ftp.parser.UnixFTPEntryParser.<init>(UnixFTPEntryParser.java:136)
    at org.apache.commons.net.ftp.parser.UnixFTPEntryParser.<init>(UnixFTPEntryParser.java:119)
    at org.apache.commons.net.ftp.parser.DefaultFTPFileEntryParserFactory.createUnixFTPEntryParser(DefaultFTPFileEntryParserFactory.java:169)
    at org.apache.commons.net.ftp.parser.DefaultFTPFileEntryParserFactory.createFileEntryParser(DefaultFTPFileEntryParserFactory.java:94)
    at org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:2358)
    at org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2141)
    at org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2188)
    at test.testftp.GetAllFilename(testftp.java:63)
    at test.testftp.<init>(testftp.java:22)
    at test.testftp.main(testftp.java:151)
      

  4.   

    导入jakarta-oro包,该包在通过myeclipse导入struts类包的时候会自动的导入web的lib下面,而应用程序则需要单独引用到JRE中
      

  5.   

    谢谢baobao28(瓜瓜),按你的方法果然好用了