要求:
传入三个参数,第一个表示要创建文件的根目录,第二个表示创建文件的层次,第三个参数代表每层创建目录的个数;
文件名字为随机生成的长度为10的字符串;
以下实现的方式为每次在创建目录时子目录和父目录一次性建立;
import java.io.File;
import java.util.UUID;
public class PaiLie {
public static void main(String args[]) {
String s = "D:/Work2";
makeDir(s, 2, 3);
}
public static void makeDir(String path, int num1, int num2) {
if (num1 == 1) {
for (int i = 0; i < num2; i++) {
File f = new File(path, getFileName());
f.mkdirs();
}
} else {
for (int i = 0; i < num2; i++) {
makeDir(new File(path, getFileName()).getPath(), num1 - 1, num2);
}
}
}
public static String getFileName() {
UUID uuid = UUID.randomUUID();
String str1 = uuid.toString().substring(0, 10);
return str1;
}
}
以下实现为先创建父目录,后创建子目录
import java.io.File;
import java.util.UUID;
public class PaiLie {
public static void main(String args[]) {
String s = "D:/Work2";
makeDir(s, 2, 3);
}
public static void makeDir(String path, int num1, int num2) {
if (num1 == 1) {
for (int i = 0; i < num2; i++) {
File f = new File(path, getFileName());
f.mkdir();
}
} else {
for (int i = 0; i < num2; i++) {
File f1=new File(path, getFileName());
f1.mkdir();//创建父目录
makeDir(f1.getPath(), num1 - 1, num2);
}
}
}
public static String getFileName() {
UUID uuid = UUID.randomUUID();
String str1 = uuid.toString().substring(0, 10);
return str1;
}
}
实现结果: