Я пытаюсь выполнить процесс в том же каталоге, что и мой файл Jar, получая местоположение файла сRuntime.exec() терпит неудачу с пространством в каталоге (Java)
private static File jarLocation = new File(Main.class.getProtectionDomain().getCodeSource().getLocation().getPath()).getParentFile();
затем вызывая
Это обычно работает нормально, но когда путь имеет пробел, я получаю «Недопустимое имя каталога». Я попытался добавить некоторый отладочный код, который печатает путь к каталогу, который заменил пробелы «% 20» (я предполагаю, что гексагон ASCII пространства равен 20). есть ли способ использовать каталог с пробелами на своем пути?
замена% 20 назад в фактическое пространство должно работать. Они являются результатом кодирования URL. Изменить: см. Http://stackoverflow.com/a/12733172/995891 – zapl
Можете ли вы включить полную ошибку, которую вы получаете, включая трассировку стека? На какой ОС вы работаете? И фактическая строка 'command'? Он обозначается в этой форме Runtime.exec(), поэтому там могут быть проблемы. –
@AndrewJanke Команда, с которой я работаю, не имеет никакого значения. Я попробовал это как на Windows 7, так и на Linux (Ubuntu), и это тоже не имеет никакого значения. Я просто передаю строку для команды. – user2248702