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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Android666 中级黑马   /  2016-2-23 21:23  /  690 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

编写一个程序,把指定目录下的所有的带.java文件都拷贝到另一个目录中,拷贝成功后,把后缀名是.java的改成.txt。

1 个回复

倒序浏览


  1. import java.io.*;


  2. public class Test {
  3.         public static void main(String[] args) throws IOException {
  4.                 File file1=new File ("F:"+File.separator+"src");
  5.                 copyAndRename(file1);
  6.         }

  7.         private static void copyAndRename(File file1) throws IOException {
  8.                 File[] fi=file1.listFiles(new SuffixFilter());
  9.                 String filename="F:"+File.separator+"src2";
  10.                 byte[] buf=new byte[1024];
  11.                 int len;
  12.                 for(File f:fi){
  13.                         String fname=f.getName();
  14.                         BufferedInputStream bis=new BufferedInputStream(new FileInputStream(f));
  15.                         BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(filename+File.separator+fname));
  16.                         while((len=bis.read(buf))!=-1){
  17.                                 bos.write(buf,0,len);
  18.                         }
  19.                          bis.close();
  20.                  bos.close();
  21.                File f2=new File(f.getAbsolutePath());
  22.                fname=fname.replace(".java", ".txt");
  23.                File f3=new File("F:"+File.separator+"src"+File.separator+fname);
  24.                f2.renameTo(f3);
  25.                 }
  26.                
  27.         }
  28. }

  29. class SuffixFilter implements FilenameFilter{

  30.         public boolean accept(File dir, String name) {
  31.                
  32.                 return name.endsWith(".java");
  33.         }
  34.        
  35. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马