用JAVA实现:在day19文件夹下操作: 1.创建task02 目录 2.使用集合List去存储如下数据(以Map形式,且以逗号为分隔符 ) task02,test01,File类操作.avi ,File 学习笔记.md ,Test02 ,java学院-讲师上云-日期讲解.avi ,java学院-讲师上云-日期解析.avi ,任务作业.txt 。其中task02是一级目录,test01和Test02以及"任务作业.txt”都是二级目录,"File类操作.avi"和“File学习笔记.md”是test01文件夹中的文件,“java学院-讲师上云-日期讲解.avi”和"java学院-讲师上云-日期解析.avi"都是Test02文件夹中的文件。将list 中的这些数据创建出对应的文件及其文件夹
时间: 2024-03-26 15:36:02 浏览: 104
以下是Java代码实现:
```java
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class CreateFiles {
public static void main(String[] args) throws IOException {
String basePath = "./day19/task02";
List<Map<String, String>> fileList = new ArrayList<>();
Map<String, String> file1 = new HashMap<>();
file1.put("name", "File类操作.avi");
file1.put("path", "./day19/task02/test01");
fileList.add(file1);
Map<String, String> file2 = new HashMap<>();
file2.put("name", "File学习笔记.md");
file2.put("path", "./day19/task02/test01");
fileList.add(file2);
Map<String, String> file3 = new HashMap<>();
file3.put("name", "任务作业.txt");
file3.put("path", "./day19/task02/test01");
fileList.add(file3);
Map<String, String> file4 = new HashMap<>();
file4.put("name", "java学院-讲师上云-日期讲解.avi");
file4.put("path", "./day19/task02/test02");
fileList.add(file4);
Map<String, String> file5 = new HashMap<>();
file5.put("name", "java学院-讲师上云-日期解析.avi");
file5.put("path", "./day19/task02/test02");
fileList.add(file5);
Map<String, String> dir1 = new HashMap<>();
dir1.put("name", "test01");
dir1.put("path", "./day19/task02");
fileList.add(dir1);
Map<String, String> dir2 = new HashMap<>();
dir2.put("name", "test02");
dir2.put("path", "./day19/task02");
fileList.add(dir2);
Map<String, String> dir3 = new HashMap<>();
dir3.put("name", "task02");
dir3.put("path", "./day19");
fileList.add(dir3);
for (Map<String, String> file : fileList) {
String name = file.get("name");
String path = file.get("path");
File dir = new File(path);
if (!dir.exists()) {
dir.mkdirs();
}
if (!name.contains(".")) {
File subDir = new File(dir, name);
subDir.mkdir();
} else {
File subFile = new File(dir, name);
subFile.createNewFile();
}
}
}
}
```
首先定义了一个basePath,即根目录的路径。然后创建了一个List,用于存储所有的文件和文件夹。
接下来添加了七个元素,其中五个是文件,两个是文件夹。每个元素都是以Map形式存储的,包含了元素的名称和路径。
接下来使用循环遍历所有的元素,先判断元素对应的目录是否存在,不存在则递归创建。然后判断元素是文件还是文件夹,如果是文件则创建文件,如果是文件夹则创建文件夹。
最终,执行代码后会在day19目录下创建task02目录,并在其中创建test01和test02两个子目录,以及相应的文件。
阅读全文