-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できます。この Oracle チュートリアルwatchを見て、目的を達成する方法を確認できます。これにより、コードが無期限にループし続ける必要なく、後で処理するイベントが発生します。

于 2013-04-12T05:23:00.570 に答える