2016-04-14 62 views
2

假设我有一个程序将文件从文件夹A移动到文件夹B然后通过jms发送它们。 这部分工作正常,但它仍然试图移动文件,当没有更多的文件。 Atm我得到了一个解决方法,即如果没有文件,连接就会关闭,但正如它在标题中所说的那样,程序应该停止,或者'空闲',直到文件夹a中的文件,然后继续移动并且发送这些文件夹。我不知道,如果这是在Java中,甚至是可行的,在所有的,所以请一些帮助,将不胜感激:) 我的工作都是围绕代码:当文件在文件夹中时程序应该继续工作

//dir is the "folder a" path 
if (dir.listFiles().length == 0) { 
      try { 
       Thread.sleep(60000); 
       if (dir.listFiles().length == 0) { 
        session.close(); 
       } 
      } catch (InterruptedException e) { 
      } 
     } 

回答

0

如果你在* nix中运行,总是有当前目录('。')和父目录('..'),我相信这将始终使长度> 0.

在Windows上,存在相同的目录,但不确定它们是否返回,在Windows中。

而listFiles()将目录中的任何内容作为File返回,其中可能包含其他目录。如果你真的只想要文件,你可能需要创建一个文件过滤器。

0

您正在尝试做的事情不能在代码的一个简短部分中完成。我创建了一个名为Universal File Mover(UFM)的开源项目。它的一个功能是“观看”文件,然后对它们做些什么。即通过MQ或ftp或sftp或http或任何其他UFM操作发送它们。

去下载UFM的源代码,并拉出处理观​​看目录或特定文件的'biz.capitalware.ufm.watch'包。

+0

所以没有简单的方法来监视文件传入?哦,这将是非常好的提及在什么行动或什么是如此的建立wtach :)谢谢 – KleineKiwi

+0

认真?您无法下载代码或阅读手册的目录,并注意一个名为“Watch”的操作。认真!有人提供了一切,而你仍然是葡萄酒,你不会为了做最微小的工作而烦恼。我的天啊。 – Roger

相关问题