Я интегрирую программу с открытым исходным кодом c в Java-программу.
Я пытался использовать JNI, но это было не совсем так, как я хочу.
ИспользованиеПрограмма c такая же, как показано ниже.
program_name argument1 [-a maxSize] [-o maxSizeO] ...... [-P] \
in.txt in1.dat in2.dat in1.tmp in2.tmp out.txt
Я мог бы запустить эту программу, используя класс ProcessBuilder следующим образом.
ProcessBuilder pb = new ProcessBuilder("program_name",
"argument1",
"-a", maxSize,
"-o", maxSizeO.........,
int2.tmp, out.txt);
Process p = pb.start();
Но Есть много необязательных аргументов, так что это выглядит какнеправильный способ обслуживания моей Java-программы.
Есть ли идея решить эту проблему хорошим способом разработки программного обеспечения?
Заранее спасибо.