-3

我有一个方法 RunFrame();

我想在无限循环中调用它。

while(true)
{
   if(x==true)
   { RunFrame(); }
}

如果条件为真,则在执行方法后,我的循环会中断;我想再次继续循环,直到再次发生 x 的下一个事件,依此类推..

4

1 回答 1

2

由于您的while(true)子句,代码将无限期地运行,无论值是什么x(因为x仅指示何时RunFrame()调用)。

我看到的唯一问题是RunFrame引发某种异常或中止程序。您可以像下面这样尝试:

while(true)
{
   if(x==true)
   { 
       try
       {
           RunFrame(); 
       }
       catch(Exception e)
       {
           e.printStackTrace();
       }
   }
}

以上应满足例外情况。

编辑:

看到你的评论:

我想创建无限循环。然后在其中使用 for 循环获取文件监视事件。并检查 if(event==requiredEvent) 然后调用方法 RunFrame。

您可以看一下WatchService哪个将允许您访问watch给定目录。您可以查看此 Oracle 教程,了解如何实现您想要的。这将触发您将处理的事件,而无需您的代码必须无限期地循环。

于 2013-04-12T05:23:00.570 回答