使用Peoplecode从远程FTP站点删除文件



我正在尝试使用PeopleCode应用程序引擎从远程服务器删除文件。GetAttachment可以工作,只是我想在服务器上的整个目录中循环,并匹配march.csv等文件。

此外,我需要按日期范围进行此操作。*。csv介于日期1和日期2之间。

获取附件似乎需要知道文件名并单独删除文件。所以模式匹配是行不通的。

我可以使用java对象获取列表和检查日期:

本地JavaObject;joFile=CreateJavaObject("java.io.File",SFO_DEL_FTP_AET.FTPDIRECTORY(;本地JavaObject;joFileList;本地JavaObject;reflectArray=GetJavaClass("java.lang.reflect.Array"(;本地JavaObject;dttm_format=CreateJavaObject("java.text.SimpleDateFormat","yyyy-MM-dd"(;

但我只能将其用于本地服务器。

有没有一种方法可以真正连接到服务器,然后使用java对象?

谢谢,JPS

您可以使用Apache Commons NET库来实现这一点。其中一个软件包用于FTP/FTPS访问。

FTPClient ftpClient = new FTPClient();
ftpClient.connect(server, port);
ftpClient.login(user, pass);
 
FTPFile[] files = ftpClient.listFiles("/yourDir");     

一旦获得文件列表,就可以从FTPFile对象中检索名称。

为了删除文件,可以使用FTPClient的deleteFile方法。

public boolean deleteFile(String pathname)

删除FTP服务器上的文件。参数:pathname-要删除的文件的路径名。返回:如果成功完成,则返回True;如果未成功完成,返回false

 
for (FTPFile file : files) 
{
    String fileName = file.getName();
    /*if (file.isDirectory()) 
       handle directory access*/

//use getAttachment from the fileName

//in order to delete a file, call FTPClient's deleteFile Method  
//ftpClient.deleteFile(filePath);
}
ftpClient.logout();
ftpClient.disconnect();

你可以在这里下载NET库

最新更新