Как получить полный путь к каталогу, указав подмножество его пути в Java? - PullRequest
2 голосов
/ 07 июля 2011

Например, если я предоставлю \abc\xyz, возможно ли получить <drivename>:\somefolder\abc\xyz?

Ответы [ 2 ]

1 голос
/ 07 июля 2011

Посмотрите на

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

Подробнее:

http://commons.apache.org/io/

0 голосов
/ 07 июля 2011

Я не пробовал этого раньше, но единственный алгоритм, который я могу придумать, это либо DFS (поиск в глубину), либо BFS (поиск в ширину), где дерево \ график, по которому вы ищете, - это ваша файловая система,где каталоги - это узлы в графе (это дерево (ациклическое)), и все каталоги, которые ведут к другому, имеют направленное ребро (например, abc - это узел в графе, который имеет направленное ребро от себя до xyz - другого узладерево).Создав древовидную структуру данных, вы можете выполнить известные алгоритмы BFS или DFS, чтобы найти пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...