例如,如果我提供\abc\xyz
,是否可以获得<drivename>:\somefolder\abc\xyz
?
答案 0 :(得分:1)
看看
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
更多详情:
答案 1 :(得分:0)
我之前没有尝试过,但我能想到的唯一算法是DFS(深度优先搜索)或BFS(广度优先搜索),其中您搜索的树\图是您的文件系统,其中目录是图中的节点(它是一个树(非循环)),并且每个通向另一个目录的目录都有一个有向边(例如,abc是图中的一个节点,它有一个从其自身到xyz的有向边 - 另一个节点在那个树)。 创建树数据结构后,可以执行BFS或DFS着名算法来查找路径。