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

Java 使用Peoplecode从远程FTP站点删除文件,java,peoplesoft,peoplecode,Java,Peoplesoft,Peoplecode,我正在尝试使用PeopleCode应用程序引擎从远程服务器删除文件。 GetAttachment可以工作,只是我想在服务器上的整个目录中循环一次,并匹配像march.csv这样的文件 此外,我需要按日期范围完成此操作。*。日期1和日期2之间的csv 获取附件似乎要求您知道文件名并单独删除文件。 因此模式匹配将不起作用 我可以使用java对象获取列表并检查日期: 本地JavaObject&joFile=CreateJavaObject(“java.io.File”,SFO_DEL_FTP_AET.

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

此外,我需要按日期范围完成此操作。*。日期1和日期2之间的csv

获取附件似乎要求您知道文件名并单独删除文件。 因此模式匹配将不起作用

我可以使用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库来实现此目的。其中一个软件包用于FTP/FTPS访问

FTPClient ftpClient = new FTPClient();
ftpClient.connect(server, port);
ftpClient.login(user, pass);
 
FTPFile[] files = ftpClient.listFiles("/yourDir");     
一旦获得文件列表,就可以从对象中检索名称

要删除文件,可以使用FTPClient的方法

公共布尔删除文件(字符串路径名)

删除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();