В интервью задается вопрос:
Вы должны написать программу, которая принимает имя каталога (например, D: \ XYZ) и регулярное выражение (например, "* 1004").* Olivea") в качестве аргумента.И он перечислит все файлы в данном каталоге с именем, совпадающим с регулярным выражением.
Я сделал простую программу из этого:
package temp;
import java.io.File;
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class FileSearch1 {
static ArrayList l = new ArrayList();
public static void main(String[] args) {
String folderName = "D:\\"; // the folder path in which you want to
// search
String strPattern = "Olivea"; // Pattern what you want to search
final boolean searchinFile = true; // if you want to search in file keep
// it true for folder search keep it
// false
File f = new File("D:\\");
Pattern pattern1 = Pattern.compile(strPattern);
sunny(f, pattern1, searchinFile);
}
public static void sunny(File f, Pattern pattern1,
final boolean searchinFileOnly) {
File[] f1 = f.listFiles();
if (f1 == null)
return;
int k = f1.length;
// System.out.println(k);
int i = 0;
while (i < k) {
File f2 = f1[i];
if (f2.isDirectory() && !searchinFileOnly) {
Matcher match1 = pattern1.matcher(f2.getName());
while (match1.find()) {
l.add("");
System.out.println(f2.getName());
}
} else if (f2.isFile() && searchinFileOnly) {
Matcher match1 = pattern1.matcher(f2.getName());
while (match1.find()) {
l.add("");
System.out.println(f2.getName());
}
}
sunny(f2, pattern1, searchinFileOnly);
i++;
}
}
}
Послеписьменный тест, интервьюер спросил меня, какой шаблон дизайна вы можете использовать в этом .Не могли бы вы порекомендовать мне различные шаблоны проектирования, которые мы можем реализовать в этом коде?Помощь действительно будет оценена