1.简介
将A文件下的 所有文件Bs集合中的 文件b下的若干文件Cs,全部放在A文件下,并重新编号。
重点是java环境下所有文件列表、绝对路径和文件名的获取方式。
2.代码
//1.第一层文件
File baseFile = new File("E:\\Java\\Practice\\3.si\\5.r-p-n");
File[] files = baseFile.listFiles();//获得该文件下的所有文件名称
for (File file : files) {
String filename = file.getAbsolutePath();//获得绝对路径
System.out.println(filename);
System.out.println("==============");
int i=0;
//2.第二层文件
File bodyFile=new File(filename);
File[] bodyFiles = bodyFile.listFiles();
for(File bodyfile:bodyFiles)
{
String bodyfileName=bodyfile.getAbsolutePath();
System.out.println(bodyfileName);
System.out.println("------------------");
//2.第三层文件
File bodyFile2=new File(bodyfileName);
File[] bodyFiles2 = bodyFile2.listFiles();
for(File bodyfile2:bodyFiles2)
{
String bodyfileName2=bodyfile2.getName();
if(bodyfileName2.equals("pattern")||bodyfileName2.equals("target"))
{
System.out.println(bodyfileName2);
/* 1.复制文件并重新编号*/
File bodyfileName3 = new File(bodyfile2.getAbsolutePath()); // 要读取以上路径的文件
InputStreamReader reader = new InputStreamReader(new FileInputStream(bodyfileName3));
BufferedReader br = new BufferedReader(reader);
BufferedWriter writer = new BufferedWriter(new FileWriter(filename+"\\"+bodyfileName2+i, true));
String line = "";
line = br.readLine();
while (line != null) {
writer.write(line);
writer.newLine();
line="";
line = br.readLine(); // 一次读入一行数据
}
reader.close();
br.close();
writer.flush();
writer.close();
}
}
i++;
}
}