如何使用java代码识别firefox.exe的安装路径。
accumulator = (accumulator) && (runCommand("C:\Program Files (x86)\Mozilla Firefox\firefox.exe", "-P PAX-PROFILE-1 %s", "google"));
accumulator = (accumulator) && (runCommand("C:\Program Files (x86)\Mozilla Firefox\firefox.exe", "-P PAX-PROFILE-2 %s", "google"));
accumulator = (accumulator) && (runCommand("C:\Program Files (x86)\Mozilla Firefox\firefox.exe", "-P PAX-PROFILE-3 %s", "google"));
我在这里传递windows完整的firefox.exe路径。
现在我正在Java中使用执行这些命令
Process p = Runtime.getRuntime().exec(parts);
有什么方法可以确定的位置吗
firefox.exe
根据操作系统
由于您将问题标记为"unix",因此在unix/Linux/MacOSX系统上,您可以使用which
命令从命令行执行此操作;例如
$ which firefox
/usr/bin/firefox
因此,要在Java中执行同样的操作,可以使用Process
来运行该命令,并将输出读取为字符串。也可以通过读取$PATH
环境变量,对其进行拆分,并检查路径上的每个目录,看看它们是否包含"firefox"可执行文件来完成同样的操作。(你可能也可以在Windows上做同样的事情)。
顺便说一句,Unix/Linux/MacOSX上的可执行文件没有".exe"文件后缀。".exe"后缀是Windows ism。
这不是特定于java的。在unix系统(和DOS shell)上,定位可执行文件的一般约定如下:
- 获取PATH环境变量
- 按路径分隔符分隔
- 将每个拆分结果视为一个目录
- 检查它是否包含具有您要查找的名称的可执行文件
至少这是CLI上使用的内容。桌面环境可能使用单独的应用程序注册表。