【问题标题】:Use Peoplecode to delete files from remote FTP site使用 Peoplecode 从远程 FTP 站点删除文件
【发布时间】:2021-06-07 23:11:39
【问题描述】:

我正在尝试使用 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

【问题讨论】:

    标签: java peoplesoft peoplecode


    【解决方案1】:

    您可以为此使用 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();
    

    你可以download the NET library here

    【讨论】:

      猜你喜欢
      • 2014-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多