gpt4 book ai didi

java - 如何扫描可执行文件的搜索路径

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:40:35 24 4
gpt4 key购买 nike

是否可以通过 Java 中的 shell 命令获取文件的路径?

例如,当我在 Windows 命令提示符下键入 php -v 时,它会知道我指的是 C:\php\php.exe(对于我自己的计算机),因为我将其添加到系统 Path 变量中。是否可以在 Java 中执行相同的操作?

我知道您可以从 Java 获取 Path 环境变量并使用 String.split(";") 对其进行解析,但我想知道是否有更直接的方法?

最佳答案

看看下面来自 JGit 库的代码 http://download.eclipse.org/jgit/site/3.7.1.201504261725-r/apidocs/org/eclipse/jgit/util/FS.html#searchPath(java.lang.String,%20java.lang.String...)

你可以实现类似的东西

/**
* Searches the given path to see if it contains one of the given files.
* Returns the first it finds. Returns null if not found or if path is null.
*
* @param path
* List of paths to search separated by File.pathSeparator
* @param lookFor
* Files to search for in the given path
* @return the first match found, or null
* @since 3.0
**/
protected static File searchPath(final String path, final String... lookFor) {
if (path == null)
return null;

for (final String p : path.split(File.pathSeparator)) {
for (String command : lookFor) {
final File e = new File(p, command);
if (e.isFile())
return e.getAbsoluteFile();
}
}
return null;
}

关于java - 如何扫描可执行文件的搜索路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34221222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com