1

我正在使用 Apache ftpserver (Java)。当通过 ftp 上传文件时,我需要在我的程序中有一个通知。这似乎是可能的,但我找不到如何做到这一点。

有什么解决方案吗?

mina.apache.org/ftpserver

4

2 回答 2

3

您可以使用 ftplet 获取所有通知。检查一下... http://apilevel.wordpress.com/2011/05/12/ftplet-servlet-for-apache-ftpserver/

于 2012-07-13T07:34:49.967 回答
1

我假设,您有一个桌面程序,它在 ftpserver 本身上运行。因此,只要将任何文件上传到同一个 ftpserver,您的程序就必须通知它...对。!!

让我们来看看....

  1. 我确定您已经在 ftp 服务器中创建了一个目录,文件将被上传到该目录中。

  2. 使您的这个程序在同一台服务器上运行,以每隔 2 分钟或根据您的要求继续查看该文件夹/目录中的文件总数。一旦程序注意到文件数量增加了,那么我将在程序中引发某种事件来通知你。

怎么做...

  1. 创建一个单独的线程以保持循环目录以查找文件数量的任何更改。不要让 Event Dispatcher 线程来做这件事。否则你的 GUI 将被挂起。

  2. 试试下面的逻辑..

    private static int max = 0;    // i am assuming the folder is Empty.
    
     while(true) {
    
     File f = new File("path_of_files_on_ftp_server");
     File[] farr = f.listFiles();
    
     if ( farr.length > max ){
    
               // There has been an upload......
               // Raise the alarm here, by doing some event....
               max = farr.length ;
    
    
         }
    
     else {
    
           continue;
         }
    

    }

于 2012-06-29T18:27:50.050 回答