import java.io.File;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
List<String> excludeList = Arrays.asList("common","api");
File file = new File("D:\\comp2\\.m2\\io\\test");
File[] des = file.listFiles();
for (File derectory : des) {
if (!excludeList.contains(derectory.getName()) && derectory.isDirectory()) {
doPrint(derectory, "io.test");
}
}
}
public static void doPrint(File derectory, String pefix) {
if (isEnd(derectory)) {
System.out.println(pefix + " : " + derectory.getName());
} else {
pefix = pefix + "." + derectory.getName();
for (File file : derectory.listFiles()) {
if (isEnd(file)) {
System.out.println(pefix + " : " + file.getName());
} else {
doPrint(file, pefix);
}
}
}
}
public static boolean isEnd(File file) {
try {
return isContainNumber(file.listFiles()[0].getName());
} catch (Exception e) {
System.out.println(e);
return false;
}
}
public static boolean isContainNumber(String str) {
Pattern pattern = Pattern.compile(".*\\d+.*");
Matcher isNum = pattern.matcher(str);
if (!isNum.matches()) {
return false;
}
return true;
}
}