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

将用户输入在控制台上的指定路径下所有的.txt文件复制到c盘下随意目录(你可以自
己指定路径)并在复制后将.txt后缀名更改成.java后缀名 
public class Test1 {  public static void main(String[] args) throws IOException {   // 封装目录 
  File srcfile = new File(“d:\\test”);   File desfile = new File("d:\\demo");   if (!desfile.exists()) {    desfile.mkdir(); 
  } 
  
File[] fileArray = srcfile.listFiles(new FilenameFilter() { 
    @Override 
   public boolean accept(File file, String name) {     return new File(file, name).isFile() && name.endsWith(".txt"); 
  
 

   }); 
  for (File file : fileArray) {    // d:\\demo\\a.mp3 
   File newfile = new File(desfile, file.getName()); 
   copyFile(file, newfile); 
  } 
  // 在目的地下改名 
  File[] files = desfile.listFiles();   for (File file : files) {    File newfile = new File(desfile, file.getName().replace(".txt",".java"));    file.renameTo(newfile);   

  } 
 //复制文件 
 private static void copyFile(File file, File newfile) throws IOException {   //封装数据源,高效流 
  BufferedInputStream bis = new BufferedInputStream(new FileInputStream(    
 
file)); 
  //封装目的地,高效流 
  BufferedOutputStream bos = new BufferedOutputStream(  
 
 
 
new FileOutputStream(newfile)); 









黑马程序员入学面试复习 
  //一次复制一个字节数组   byte[] bys = new byte[1024];   int len = 0; 
  while ((len = bis.read(bys)) != -1) {    bos.write(bys, 0, len);    bos.flush(); 
  } 
  //释放资源   bos.close();   bis.close(); 
 } 
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马