У меня есть командный файл run.bat
, для запуска которого требуется много аргументов. Это часть приложения с именем GeoMatch
, для которого GeoMatch.exe
присутствует в той же папке, что и файл .bat.
Чтобы запустить приложение, мне нужно запустить командный файл.
Используя командную строку в Windows, я запускаю командный файл следующим образом:
C:\programs\test\GeoMatch_demo>GeoMatch -t template.jpg -1 10 -h 100 -s search1.
jpg -m 0.7 -g 0.9
Я получаю желаемый результат. Однако, когда я пытаюсь запустить то же самое из моего Java Application
, я не получаю желаемого результата.
Мой код Java:
import java.io.*;
import java.lang.*;
public class BatchDemo
{
public static void main(String args[]) throws IOException
{
try{
String cmd;
try {
String[] command = { "cmd.exe", "/C", "Start", "C:\\programs\\test\\GeoMatch_demo\\run.bat","C:\\programs\test\\GeoMatch_demo\\Search1.jpg","C:\\programs\\test\\GeoMatch_demo\\template.jpg"};
Runtime r = Runtime.getRuntime();
Process p = r.exec(command);
p.waitFor();
} catch (Exception e)
{
System.out.println("Execution error");}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
Также для запуска этого .bat-файла нам нужно, чтобы 3 DLL присутствовали в той же папке, что и .bat-файл. Я добавил эти 3 DLL в свой Java-проект, но все равно не получил желаемого результата.
Может кто-нибудь мне помочь?
Заранее спасибо