java - 按文件夹模式搜索文件

标签 java perforce p4java

我在项目的不同文件夹中必然有一些 Java 类。 (项目不止一个)

是否可以通过指定文件名和项目文件夹来在 perforce 中搜索文件并获取其完整路径?我的意思是这样的

文件夹示例:

//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

我相信有一个我需要的类(class):

1. //depot/projects/<concrete_project>/...@SomeClass.java

还有像这样的情况(添加文件夹模式)

2. //depot/projects/<concrete_project>/...@server@SomeClass.java

上面的第一步和第二步是我的假设。我试图在文档中查找一些内容,但没有找到任何相关信息。

最佳答案

以下代码片段展示了如何在 P4Java 中使用 files 命令:

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"

关于java - 按文件夹模式搜索文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35704258/

相关文章:

java - 在 google-guice 中编写实用程序类的最佳实践?

java - 如何在不触摸 ListView 中选择/突出显示项目?

android - 为什么 Android Studio 2.0 不支持 Perforce?

perforce - 如何重命名perforce depot中的文件

java - 通过java追加perforce权限表会导致权限表为空

java - boolean 数组的所有组合

perforce - Perforce : cannot revert, 中的已删除(未提交)目录强制同步、协调或执行任何其他操作

java - 如何使用 Perforce p4java 库查找未解析的文件?

java - 正则表达式匹配两个以上元素Java