自动创建文件夹 – leetcode
问题
为了更好的刷leetcode题,和进行整理好刷题结果,需要把题目写进 java 文件中,但是创建规格文件比较麻烦,所以进行自动创建
思路:
-
例子:
-
实现思路
-
- 进行生成 文件名
- 1.1 文件名格式 test10_100
- 1.2 计算出前后 数字 后数字小心越界
- 1.3 num 根据 scope 进行补0
-
- 判断文件名 文件 是否 存在
- 2.1 不存在 进行 创建
- 进行生成 文件名
/**
* 创建文件
* test01_10
* 1. 进行生成 文件名
* 1.1 文件名格式 test10_100
* 1.2 计算出前后 数字 后数字小心越界
* 1.3 num 根据 scope 进行补0
* 2. 判断文件名 文件 是否 存在
* 2.1 不存在 进行 创建
*
* @param initNum 开始数
* @param scope 结束数
* @param interval 间隔
*/
private static void test1(int initNum, int scope, int interval) {
String filePath = "D:\\盖世神龙\\课外\\leetCodeTest\\src\\stage_two";
//先进行切割
List<String> list = test1_1(initNum, scope, interval);
list.forEach((s) -> {
String filePathFile = filePath + "/" + s;
File file = new File(filePathFile);
if (!file.exists()) {
file.mkdir();
System.out.println("创建文件:"+s);
}
});
}
/**
* 1. 边切割边 创建
*/
private static List<String> test1_1(int initNum, int scope, int interval) {
long start = System.currentTimeMillis();
//模板名
StringBuilder key = new StringBuilder("test");
//为了补0
key.append("%0").append((scope + "").length()).append("d");
key.append("_");
key.append("%0").append((scope + "").length()).append("d");
String test = key.toString();
List<String> list = new ArrayList<>();
//进行切割数字 并 递增
for (int i = initNum; scope >= i + interval; i += interval + 1) {
String format = String.format(test, i, i + interval);
list.add(format);
}
long end = System.currentTimeMillis();
System.out.println("消耗时间:" + (end - start) + "毫秒");
return list;
}