Java, проверьте, существует ли исполняемый файл в среде PATH
Я могу напечатать путь, используя System.getenv("PATH").
Затем я, возможно, пройду эти пути и использую File, чтобы проверить, существует ли файл.
Есть ли более быстрый способ в Java?
Ответ 1
Есть ли более быстрый способ в Java?
В плане производительности нет.
С точки зрения усилий по кодированию, вероятно, нет. Конечно, я не знаю какой-либо сторонней библиотеки Java, которая будет искать путь поиска команд, чтобы увидеть, существует ли исполняемый файл.
К сожалению, поиск исполняемого файла в Windows немного сложнее, потому что вам приходится учитывать различные типы исполняемых файлов... на основе суффиксов файлов. Даже в Linux/Unix вам необходимо использовать новые API-интерфейсы атрибутов Java 7, чтобы определить, установлен ли файл-кандидат с разрешениями на выполнение.
(Я знаю, что некоторые команды можно запускать безвредными способами, например, они могут поддерживать параметр/аргумент, который выводит строку версии или некоторую справочную информацию. Однако это работает только в определенных случаях. также известно, что в Unix/Linux есть встроенная команда оболочки под названием "whereis", которая может сказать вам, существует ли исполняемая команда с заданным именем в пути поиска.)