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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

如题,我想把某文件夹下的文件复制到另一个指定的文件夹下
  1. import java.io.BufferedInputStream;
  2. import java.io.BufferedOutputStream;
  3. import java.io.File;
  4. import java.io.FileInputStream;
  5. import java.io.FileOutputStream;
  6. import java.io.FilenameFilter;
  7. import java.io.IOException;

  8. /**
  9. * @author belizer
  10. *把D盘D:\\mypicture目录下的jpg图片复制到
  11. *f:\\my下并改为txt后缀。
  12. */
  13. public class CopyAndRename2 {
  14.         public static void main(String[] args) throws IOException {
  15.                 //创建File对象封装源地址
  16.                 File file=new File("D:\\mypicture");
  17.                 //封装目的地zhi
  18.                 File dest=new File("f:\\my");
  19.                 //取得源地址目录下的所有jpg文件
  20.                 File[] files=file.listFiles(new FilenameFilter(){

  21.                         @Override
  22.                         public boolean accept(File dir, String name) {
  23.                                 // TODO Auto-generated method stub
  24.                                 return new File(dir,name).isFile()&&name.endsWith(".jpg");
  25.                         }
  26.                        
  27.                 });
  28.                
  29.                 //现在files放的全是以.jpg结尾的文件,遍历这个数组获取每一个文件
  30.                 for(File srcfile : files){
  31.                         //System.out.println(srcfile);
  32.                         //获取目的文件路径
  33.                         String name=srcfile.getName();
  34.                         File destfile=new File(dest,name);
  35.                         //封装高效字节输入流和输出流
  36.                         BufferedInputStream bis=new BufferedInputStream(new
  37.                                         FileInputStream(srcfile));
  38.                         BufferedOutputStream bos=new BufferedOutputStream(new
  39.                                         FileOutputStream(destfile));
  40.                        
  41.                         //把jpg文件复制到目的地
  42.                         byte[] bys=new byte[1024];
  43.                         int len=0;
  44.                         while((len=bis.read(bys))!=-1){
  45.                                 bos.write(bys, 0, len);
  46.                         }
  47.                         bos.close();
  48.                         bis.close();
  49.                 }
  50.                
  51.                 //改后缀
  52.                 File[] filearray=dest.listFiles();
  53.                 for(File f : filearray){
  54.                         String s=f.getName()
  55.                         .replace(".jpg", ".txt");
  56.                         File result=new File(dest,s);
  57.                         result.createNewFile();
  58.                        
  59.                 }
  60.         }
  61. }
复制代码

1 个回复

倒序浏览
我来了 来自手机 中级黑马 2015-9-4 22:51:43
沙发
为何我看不懂呢?按理说学到面向对象也应该能看懂一些啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马