Использование кавычек и двойных кавычек в Java Runtime.getRuntime (). Exec (…)

Я пытаюсь запустить образ Лиспа из Java в Mac OSX. Используя изображение с моей консоли, я набираю следующее:

lisp_image --eval '(package::method "some_argument")'

все работает нормально.

В Java у меня проблема с передачей кавычек и двойных кавычек с помощью Runtime.getRuntime (). Exec ("lisp_image --eval '(package :: method \" some_argument \ ")'").

Я также пробовал использовать:

Runtime.getRuntime().exec(new String[] {"lisp_image", "--eval ", "\'(package::method ", 
           "--eval ", "\"", "some_argument", "\")", "\'"});

и другие вещи с экранированием с помощью обратной косой черты. Ничего не работает .... Использование String Array, похоже, работает только для команд Unix (или Windows).

Есть идеи?

Заранее спасибо, Свен

5
задан Andrew Thompson 4 July 2012 в 05:42
поделиться