を使用してパスを印刷できますSystem.getenv("PATH")
。次に、おそらくそれらのパスをたどっFile
て、ファイルが存在するかどうかを確認するために使用できます。
Java でもっと速い方法はありますか?
を使用してパスを印刷できますSystem.getenv("PATH")
。次に、おそらくそれらのパスをたどっFile
て、ファイルが存在するかどうかを確認するために使用できます。
Java でもっと速い方法はありますか?
Runtime.getRuntime().exec("command");
セクションで使用できますtry ... catch
。アプリが存在しない場合はPATH
、例外が発生します。
[編集]
しかし..これはチェックの代わりにアプリを実行します。ごめん。
Java でもっと速い方法はありますか?
パフォーマンスに関しては、No.
コーディング作業に関しては、おそらくノーです。確かに、コマンド検索パスを検索して実行可能ファイルが存在するかどうかを確認するサードパーティの Java ライブラリについては知りません。
残念ながら、Windows で実行可能ファイルを検索するのは、ファイル サフィックスに基づいてさまざまな種類の実行可能ファイルを考慮する必要があるため、少し注意が必要です。Linux / Unix でも、新しい Java 7 ファイル属性 API を使用して、候補ファイルに実行権限が設定されているかどうかを判断する必要があります。
(一部のコマンドは無害な方法で実行できることを認識しています。たとえば、バージョン文字列やヘルプ情報を出力するオプション/引数をサポートしている場合があります。ただし、それは特定の場合にのみ機能します。また、 Unix / Linux では、"whereis" と呼ばれる組み込みのシェル コマンドがあり、指定された名前の実行可能なコマンドが検索パスに存在するかどうかを知ることができます。)
あなたのアプローチはうまくいくでしょう。
パス内の各ディレクトリでFile.listFiles(FileFilter filter)メソッドを使用することをお勧めします。これにより、各ディレクトリの検索が簡単になります。