如何通过在Java中提供目录路径的子集来获得目录的完整路径?

如何通过在Java中提供目录路径的子集来获得目录的完整路径?,java,file-io,Java,File Io,例如,如果我提供\abc\xyz,是否可以获取:\somefolder\abc\xyz 看一看 new File("\\abc\\xyz").getAbsolutePath(); 但是请注意,这将从当前工作目录解析\abc\xyz。这不包括运行此代码的类的包路径 更新: 文件系统扫描,考虑使用 // Method listing all files matching some filter criteria org.apache.commons.io.FileUtils.listFiles(F

例如,如果我提供
\abc\xyz
,是否可以获取
:\somefolder\abc\xyz

看一看

new File("\\abc\\xyz").getAbsolutePath();
但是请注意,这将从当前工作目录解析
\abc\xyz
。这不包括运行此代码的类的包路径

更新

文件系统扫描,考虑使用

// Method listing all files matching some filter criteria
org.apache.commons.io.FileUtils.listFiles(File directory, 
  IOFileFilter fileFilter, 
  IOFileFilter dirFilter);

// A good filter for your use case
org.apache.commons.io.filefilter.WildcardFileFilter
更多详情:


我以前没有尝试过,但我能想到的唯一算法是DFS(深度优先搜索)或BFS(广度优先搜索),其中您搜索的树\图是您的文件系统,其中目录是图中的节点(它是一棵树(非循环)),每个指向另一棵树的目录都有一条有向边(例如,abc是图中的一个节点,它有一条从自身到xyz的定向边-树中的另一个节点)。
一旦创建了树数据结构,就可以执行BFS或DFS著名的算法来查找路径。

我想你的意思是,如果从相对路径可以得到一个绝对路径?如果它不是相对路径,但实际上是另一个路径的一部分,你就必须扫描整个文件系统。是的,这与扫描文件系统有关。有没有指针?尝试了这个。它返回:\abc\xyz,不幸的是,我们需要以某种方式扫描文件系统才能完成工作。事实证明,system.getenv()帮助我完成了工作:)