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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dsh 中级黑马   /  2014-10-1 07:28  /  1278 人查看  /  1 人回复  /   2 人收藏 转载请遵从CC协议 禁止商业使用本文

package com.itheima;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/*
* 9、 编写程序,将指定目录下所有.java文件拷贝到另一个目的中,并将扩展名改为.txt
*/
public class Test09 {
public static void main(String[] args) throws IOException {
  // 创建一个文件
  File sourceFile = new File("E:\\resource");
  File file = new File("E:\\heima\\resource");
  file.mkdirs();
  
  //找出文件夹下的所有java文件,并复制
  method1(sourceFile,file);
}
private static void method1(File sourceFile,File file) throws IOException {
  // 获取源文件中的所有文件
  File[] files = sourceFile.listFiles();
  for (File sonFile : files) {
   //判断是否为文件
   if (sonFile.isFile()) {
    String str =sonFile.getName();
    if (str.endsWith(".java")) {
     //将文件的后缀改为.txt
     String txt =str.replace(".java", ".txt");
     method2(file,txt,sonFile);
    }
   }else if(sonFile.isDirectory()){
    //获取文件夹的名字
    String str =sonFile.getName();
   
    //根据名字和文件对象,打开一个新的文件对象
    File newfolder= new File(file,str);
   
    //创建出文件夹
    newfolder.mkdir();
   
    //sonFile为当前文件夹下的子文件夹,newfolder为创建的一个要存储文件的文件夹
    method1(sonFile,newfolder);
   
   }
   
  }
  
}
private static void method2(File file,String str, File sonFile) throws IOException {
  // 打开文件对象
  File javaFile = new File(file,str);
  // 创建文件
  javaFile.createNewFile();
  // 创建打开可读可写文件
  FileReader fr = new FileReader(sonFile.getAbsoluteFile());
  FileWriter fw = new FileWriter(javaFile);
  // 读取并写入
  char[] ch = new char[1024];
  int len = 0;
  while ((len = fr.read(ch)) != -1) {
   fw.write(ch, 0, len);
  }
  // 关闭缓冲流
  fr.close();
  fw.close();
}
}

1 个回复

倒序浏览
赞一个!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马