gpt4 book ai didi

java - 如何将 FileSet 转换为 Mojo 中的文件列表

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:30:01 26 4
gpt4 key购买 nike

我正在编写我的第一个 Maven Mojo,我想在其中获取一个文件集并处理它引用的所有文件。

在伪代码中我想做什么...

void myCode(org.apache.maven.model.FileSet fileSet) {
List<java.io.File> files = FileSetTransformer.toFileList(fileSet);
for (File f : files) {
doSomething(f);
}
}

所以我想要的是“FileSetTransformer.toFileList”的真实代码,在我看来这是一件很常见的事情,但我似乎无法找到如何去做。

最佳答案

感谢 emeraldjava,这足以让我找出问题的答案。

plexus-utils 有一个名为 FileUtils 的实用类,你可以这样添加对它的依赖:

<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>1.1</version>
</dependency>

一旦有了 FileUtils,您就可以这样实现 FileSetTransformer:

public final class FileSetTransformer {
private FileSetTransformer () {
}

public static List<File> toFileList(FileSet fileSet) {
File directory = new File(fileSet.getDirectory());
String includes = toString(fileSet.getIncludes());
String excludes = toString(fileSet.getExcludes());
return FileUtils.getFiles(directory, includes, excludes);
}

private static String toString(List<String> strings) {
StringBuilder sb = new StringBuilder();
for (String string : strings) {
if (sb.length() > 0)
sb.append(", ");
sb.append(string);
}
return sb.toString();
}
}

关于java - 如何将 FileSet 转换为 Mojo 中的文件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/475348/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com