Java嵌套文件复制

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++;
}
}

猜你喜欢

转载自blog.csdn.net/u014714362/article/details/79925783
今日推荐