Открытие PDF-файла в java с помощью терминала Linux

Я пытаюсь открыть файл PDF в Linux с помощью команды xdg-open в java.

String[] command = {"xdg-open","\""+path+"\""}
Process p = Runtime.getRuntime().exec(command,null);
p.waitFor();

Когда я запускаю код в терминале, ничего не происходит, даже если я ввожу его в терминал:

xdg-open path

он открывает PDF. Есть идеи, что не так?

Может это поможет? https://stackoverflow.com/a/40569083/2633917

tobifasc 18.10.2018 12:20
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
143
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы не должны избегать пути: если программа была вызвана, она была с недопустимым путем ("path", а не path).

String[] command = {"xdg-open", path}

Runtime.getRuntime().exec(command,null); будет использовать ProcessBuilder внутри, который, в случае Linux, должен вызывать системную команду Execve.

Другие вопросы по теме