我正在使用 Apache ftpserver (Java)。当通过 ftp 上传文件时,我需要在我的程序中有一个通知。这似乎是可能的,但我找不到如何做到这一点。
有什么解决方案吗?
mina.apache.org/ftpserver
您可以使用 ftplet 获取所有通知。检查一下... http://apilevel.wordpress.com/2011/05/12/ftplet-servlet-for-apache-ftpserver/
我假设,您有一个桌面程序,它在 ftpserver 本身上运行。因此,只要将任何文件上传到同一个 ftpserver,您的程序就必须通知它...对。!!
让我们来看看....
我确定您已经在 ftp 服务器中创建了一个目录,文件将被上传到该目录中。
使您的这个程序在同一台服务器上运行,以每隔 2 分钟或根据您的要求继续查看该文件夹/目录中的文件总数。一旦程序注意到文件数量增加了,那么我将在程序中引发某种事件来通知你。
怎么做...
创建一个单独的线程以保持循环目录以查找文件数量的任何更改。不要让 Event Dispatcher 线程来做这件事。否则你的 GUI 将被挂起。
试试下面的逻辑..
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;
}
}