2012-03-27 72 views
0

有人可以帮助我。我有一个应用程序创建一个文件,由外部应用程序处理。我需要以某种方式延迟我的代码,直到有一个从外部应用程序创建的文件。但是我有问题发现任何会导致Java延迟的事情。在java应用程序中延迟处理

在此先感谢

+0

简单,但是,原油:'File.isFile()'和'的Thread.sleep()'? – hmjd 2012-03-27 08:49:41

回答

1

相当简陋和粗糙,但在技术上,Thread.sleep()导致延迟。

0

你可以尝试

while(!file.exists()); 
1

按照评论,简单,但原油:

File f = new File("your-file.txt"); 

for (;;) 
{ 
    try 
    { 
     if (f.isFile()) 
     { 
      break; 
     } 
    } 
    catch (Exception e) 
    { 
     e.printStackTrace(); 
     // Or some other appropriate 
     // handling of the exception. 
    } 

    try 
    { 
     Thread.currentThread().sleep(1000); 
    } 
    catch (InterruptedException e) 
    { 
     Thread.currentThread().interrupt(); 
    } 
} 
+1

请不要鼓励用户写空的catch块。打印堆栈跟踪,记录一些东西,至少要解释为什么它是空的,但不要将它留空。 – adarshr 2012-03-27 08:58:22

+0

@adarshr,公平点。将更新答案。 – hmjd 2012-03-27 08:59:01

0

延迟我的代码要等到有创建

文件它最好是在发生某些事情时激活代码中的方法。要做到这一点,我会建议单独Thread运行并检查条件,然后调用您的应用程序。方法如果需要。对于应用程序。使用GUI时,通常使用Swing Timer来实现,但我相信也可以使用java.util.Timer来实现。