1

我应该创建多个 ftpproxyclient 对象还是一个就足够了?因为它抛出 ftp busy processing file 错误:

ftp = new FtpProxyClient(this.getFTPServername(hrGroupName), this.ftpPort,
                ftpUserName, getFTPPassword(hrGroupName));

ftp.setBinaryMode();

is = ftp.getFile(feedFileName); 

//做一些处理并检查剩余文件:

for (int i = personHeadDTO.getValueN().intValueExact() + 2; i < sequenceNo.intValueExact(); i++) {

                            fileName = feedFileName
                                    .replace(".", "_" + i + ".");

下面的代码抛出 ftp is busy 错误:

                            if(ftp.isFileExists(fileName)){
                                body1.append(fileName); 
                            }
                            else{
                                body1.append(fileName+" (Not Available in archive folder).");
                            }

                            body1.append(newline);
                        }
4

1 回答 1

0

如果我删除这些行:

   ftp.changeDirectory("prxdpshr");

ftp.getFile(feedFileName);

我没有收到任何错误,当我获取文件然后使用 ftpclient 对象执行一些操作时似乎有问题。

                      String feedFileName="intusa35a.csv";
        ftp = new FtpProxyClient("server", 21,
                "user", "pass");

        ftp.setBinaryMode();

        ftp.changeDirectory("prxdpshr");

         ftp.getFile(feedFileName);

        ftp.changeDirectory("prxdpshr/archive_bkp");


        is=ftp.isFileExists("intusa35a.csv");

        is1=ftp.isFileExists("HR_Dorf_FeedFile.csv");           


        //lin = new LineNumberReader(new InputStreamReader(is));

        //lin1 = new LineNumberReader(new InputStreamReader(is1));

        String fileName="";
        StringBuffer body1=new StringBuffer();

        for (int i = 4  ; i < 10; i++) {                
            fileName = feedFileName
                    .replace(".", "_" + i + ".");
            if(ftp.isFileExists(fileName)){
                body1.append(fileName); 
            }
            else{
                body1.append(fileName+" (Not Available in archive folder).");
            }

            body1.append("\n");
        }

    }

我使用单独的 ftpclient 来检查是否为空。

于 2012-08-14T11:11:05.550 回答