2012-03-27 71 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來實現。