A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/**
  * F盘中的文件
  * 将a.txt文件夹中的内容复制到b.txt中,并更改名字
  复制文件夹和文件到另一个文件中,并更换名字
  分析:
  1,先获取两个文件
  2,判断第二个文件是否存在,不存在就创建一个
  3,获取第一个文件夹中所有的文件夹和文件,文件数组
  4,遍历文件数组,获取a.txt文件夹中的内容,并复制到b.txt文件夹中
  5,复制后修改文件名字
  * @throws IOException
  */
public static void main(String[] args) throws IOException {
  // 1,先获取两个文件
  File afile = new File("F:\\to\\") ;
  File bfile = new File("F:\\mito\\") ;
  //2,判断第二个文件是否存在,不存在就创建一个
  if(!bfile.exists()){
   bfile.mkdirs();
  }
  // 3,获取第一个文件夹中所有的文件夹和文件名字,文件数组
  File[] afile1 = afile.listFiles(new FilenameFilter() {
   
   @Override
   public boolean accept(File dir, String name) {
    File file = new File(dir,name);
    return file.isFile()&&name.endsWith(".java");
   }
  });
  // 4,遍历文件数组,获取a.txt文件夹中的内容,并复制到b.txt文件夹中
  for (File file : afile1) {
   //获取第一文件的名字
   String name = file.getName();
   //创建获取第二文件名字
   File newFile = new File(bfile,name);
   //读取第一个文件内容
    BufferedReader br = new BufferedReader(new FileReader(file));
    //将获取到的文件内容写到newfile文件中
    BufferedWriter bw = new BufferedWriter(new FileWriter(newFile));
    String line ;
    while((line = br.readLine()) != null){
     bw.write(line);
    }
    br.close();
    bw.close();
  }
  // 5,复制后修改文件名字
  //获取bfile文件夹中的所有文件夹和文件
  File[] bfile2 = bfile.listFiles();
  //遍历文件数组
  for (File file : bfile2) {
   String name = file.getName();
   String newName = name.replace(".java", ".txt");
   File newFile = new File(bfile,newName);
   file.compareTo(newFile);
  }
}
}

1 个回复

倒序浏览
自己练得不知道对不对,求大神帮忙找毛病\
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马