JAVA获取项目的所有class文件,直接看代码
public class TestCls {
public static void main(String[] args) {
// 项目全路径
String projectPath = "xxxx/src/main/java/com";
List<File> files = scanFiles(projectPath, ".java"); // 扫描所有的 .java 文件
// 处理扫描到的文件
for (File file : files) {
System.out.println(file.getName());
// 可以根据需要进行进一步的操作,如读取文件内容等
}
}
public static List<File> scanFiles(String directoryPath, String fileExtension) {
List<File> files = new ArrayList<>();
File directory = new File(directoryPath);
if (!directory.exists() || !directory.isDirectory()) {
throw new IllegalArgumentException("Invalid directory path: " + directoryPath);
}
scanFilesRecursively(directory, fileExtension, files);
return files;
}
private static void scanFilesRecursively(File baseDir, String fileExtension, List<File> files) {
File[] fileList = baseDir.listFiles();
if (fileList != null) {
for (File file : fileList) {
if (file.isDirectory()) {
scanFilesRecursively(file, fileExtension, files);
} else if (file.isFile() && file.getName().endsWith(fileExtension)) {
files.add(file);
}
}
}
}
}