我有一个包含1个ThMapInfratab1-2.exe
文件和3个.txt
文件的文件夹。如果您以任何方式运行.exe
文件(通过命令提示符,只需双击并通过任何语言),Taskbar
上将显示一个图标。
我的.exe
将运行2-3分钟。
知道我想使用.exe
运行这些Java
文件。我找到了如何从.exe
技术运行Java
。
我的概念是,首先我会从目录中找到.txt
个文件名。最后我会这样。
List<File> fileNames={"File1.txt","File2.txt","File3.txt"};
知道我想运行我的.exe
文件3次,因为我的fileNames
长度等于3
。为此我编写了以下代码。
//ExeFileProcess Function
public void ExeternalFileProcessing(String DirectoryPath,String exeFileName,String inputFileName) throws IOException
{
String executableFileName = DirectoryPath+"/"+exeFileName;
String inputFile=inputFileName;
ProcessBuilder processBuilderObject=new ProcessBuilder(executableFileName,inputFile);
File absoluteDirectory = new File(DirectoryPath);
processBuilderObject.directory(absoluteDirectory);
processBuilderObject.start();
//processBuilderObject.wait();
}
//Main Function code.
public static void main(String[] args) throws IOException
{
ExternalFileExecutions ExternalFileExecutionsObject=new ExternalFileExecutions();
for (int fileIndex = 0; fileIndex < fileNames.size(); fileIndex++)
{
ExternalFileExecutionsObject.ExeternalFileProcessing("C:/Users/Infratab Bangalore/Desktop/Rod","ThMapInfratab1-2.exe",fileNames[fileIndex ]);
}
}
我评估了上面的代码,同时启动了3 .exe
个进程。但我不想那样。我希望逐个运行.exe
文件(我们需要监控,以前的.exe
进程是否已完成。一旦完成,它允许进行下一次迭代)。
我尝试使用Wait()
。但它无效。
我想,为此,我需要在ExeternalFileProcessing()
中添加一些代码。但我没有得到任何东西。
任何人都可以建议我。
我希望,你明白,我的问题是什么。