在java中检查运行时是否存在文件

时间:2016-04-18 10:30:02

标签: java file timer

我想检查文件是否存在于所需位置。

我正在用java创建一个文本文件,例如的abc.txt。我打算在其他程序中使用这个文件,让我们说一个CAD程序来生成一个绘图。完成CAD过程后,它会生成一个带有一些扩展名的文件,例如' .cad&#39 ;.这一代绘图需要一些时间。

我将使用相同的' .cad'在另一个程序中的文件,让我们说一个分析软件来分析生成的图纸。

现在我的问题是,我想检查一下' .cad'文件生成与否。由于.cad文件的生成需要时间,如果没有此文件,我无法继续进行,即我无法将此文件提供给下一步(即分析软件)。

那么,在java中是否存在任何方式,这样我可以检查.cad文件是否存在一段时间(让我们说120秒)。如果我找到该文件,则只进入下一步。

我搜索了方法file.exists(),但只检查了一次。

请给我一些提示。 提前谢谢大家!

3 个答案:

答案 0 :(得分:1)

我猜你可以使用守护进程在后台执行任务,希望它是有用的朋友!

 db.users.find(
  {"linkedaccounts.virtualid": "ranik@xyz"} ,
  {
    _id: 0,     
   linkedaccounts: {$elemMatch: {virtualid:"ranik@xyz"}}
   }
);

答案 1 :(得分:0)

例如,您可以编写一个从0到119计数的for循环,并执行存在检查,如果成功则调用下一步,如果不调用Thread.sleep(1000)则在下一次检查之前等待一秒

或者您可以例如安排TimerTask中的Timer每秒运行一次,TimerTask执行存在检查,如果超过最长时间,或者检查结束做好下一步并中止。

有很多方法可以做到,这些只是其中的两个。

答案 2 :(得分:0)

您需要使用您的方法和Thread.sleep(120000)创建循环。 Snmth。像这样:

while(true) {
  if (file.exists()) {
   break;
  } else {
   Thread.sleep(120000);
  }
}