方法和JavaSE中的拷贝文件的方式一样啊。
两个流,一个读一个写。

解决方案 »

  1.   

    try {
        File file=new File("原文件的目录");// 括号里替换为原文件的存放目录
        File[] files = file.listFiles(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                return name.endsWith(".mp3")||name.endsWith(".MP3");
            }
        });   // 获取该文件夹下所有文件名以MP3结尾的文件对象
        FileInputStream fis=null;   // 定义一个读取的流
        FileOutputStream fos=null;  // 写入的流
        File dFile=null;    // 目标文件
        // 对获取到的所有文件进行循环读取写入
        for (File f: files){
            // 读入流,读入对象为当前循环到的文件。
            fis= new FileInputStream(f.getAbsoluteFile());
            dFile=new File("目标文件夹");// 括号里替换为目标文件夹
            // 判断目标文件夹是否存在,不存在则创建
            if(!file.exists()){
                file.mkdirs();
            }
            // 输出流,写入对象名称为当前文件对象名称
            fos=new FileOutputStream(new File(dFile,f.getName()));
            // 频繁读写
            int len=-1;
            byte[] bts=new byte[1024];
            while((len=fis.read(bts))!=-1){
                fos.write(bts,0,len);
            }
            // 关闭流对象
            fis.close();
            fos.close();
            fis=null;
            fos=null;
        }} catch (Exception e) {
        e.printStackTrace();
    }
      

  2.   

    要是在Android下的话,要在清单文件配置读写SD卡的权限的。