Поиск файла в исполнении по шаблону папки
У меня есть несколько классов Java в разных папках для проекта. (Существует более одного проекта)
Можно ли выполнить поиск файла и выполнить полный путь к нему, просто указав имя файла и папку проекта? Я имею в виду что-то вроде этого
Пример папок:
//depot/projects/<concrete_proj>/src/java/main/server/services/SomeClass.java
//depot/projects/<concrete_proj>/src/java/main/entities/OtherClass.java
//depot/projects/<concrete_proj>/src/java/main/common/controllers/Controller.java
где я считаю, что есть класс, который мне нужен:
1.//depot/projects/<concrete_project>/...@SomeClass.java
а также такие ситуации (добавление шаблона папки)
2.//depot/projects/<concrete_project>/...@server@SomeClass.java
Первый и второй шаги выше - мои предположения. Я пытался найти что-то в документации, но ничего не нашел по этому поводу.
1 ответ
Следующий фрагмент кода показывает, как использовать files
команда с P4Java:
IServer server = ServerFactory.getServer("p4java://repo:1666");
server.setUserName("user");
server.connect();
Map<String, Object>[] result = server.execMapCmd(CmdSpec.FILES.name(), new String[] { "//depot/projects/concrete_project/.../SomeClass.java" }, null);
for (Map<String, Object> entry : result) {
System.out.println(map.get("depotFile"));
}
Допустимые примеры строк поиска, которые охватывают ваши варианты использования:
"//depot/projects/concrete_project/.../Some*.java"
"//depot/projects/concrete_project/.../S*Class.java"
"//depot/projects/concrete_project/.../server/.../SomeClass.java"
"//depot/projects/concrete_project/.../serv*/.../Some*.java"