IO流复制文件并改名不同于刘意老师新解

来源:互联网 发布:ps软件文字编辑 编辑:程序博客网 时间:2024/05/16 17:11
package copyfloder;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FilenameFilter;import java.io.IOException;public class NewCopy{    public static void main(String[] args)throws IOException    {        //封装源文件        File srcFolder = new File("e:\\Java1");        //封装目标文件        File destFloder = new File("e:\\java2");        if(!destFloder.exists()){            destFloder.mkdir();        }        //将目标文件夹中的文件存放在数组中        File[] fileArray = srcFolder.listFiles(new FilenameFilter()        {            @Override            public boolean accept(File dir, String name)            {                // TODO Auto-generated method stub                return new File(dir,name).isFile() && name.endsWith(".java");            }        });        for(File file : fileArray){            String name = file.getName();            String newName = name.replace(".java", ".jar");            //创建新的文件名的新的文件            File newFile = new File(destFloder,newName);            copy(file,newFile);        }    }    private static void copy(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.close();        bis.close();    }}

再复制文件之前创建文件时将新的文件名改好,直接以新的文件名创建文件更省事,减少方法的调用,更方便

原创粉丝点击