简单的IO流应用-将文件夹中的所有文件拷贝到指定目录下

来源:互联网 发布:季羡林的孩子知乎 编辑:程序博客网 时间:2024/05/15 12:45

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
      
    /**
     * @author
     * 文件夹拷贝(将文件夹中所有文件拷贝到指定文件夹)
     *
     */  
public class Test {
          
    public static void main(String[] args) {
        copy("F:\\银行_定制2","F:\\copy");
        System.out.println("文件拷贝完成!");
    }

    private static void copy(String src, String des) {
        File file1=new File(src);
        File[] fs=file1.listFiles();
        File file2=new File(des);
        if(!file2.exists()){
            file2.mkdirs();
        }
        for (File f : fs) {
            if(f.isDirectory()){
                //fileCopy(f.getPath(),des+"\\"+f.getName()); //调用文件拷贝的方法
                File[] pdf = f.listFiles();
                for(int i = 0;i < pdf.length; i++){
//                    String strFileName = pdf[i].getAbsolutePath().toLowerCase();
                    String strFileName = pdf[i].getName();
                    System.out.println(pdf[i].getName());
                    try {
                        filesCopy(pdf[i].getPath(),des,strFileName);
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
        }
    }

    /**
     * 文件拷贝的方法
     * @throws IOException
     */
    private static void filesCopy(String src, String des,String name) throws IOException {
 
        FileInputStream input;
        FileOutputStream output;
        try {
            input = new FileInputStream(src);
            output=new FileOutputStream(des+"\\"+name);//可替换为任何路径何和文件名

            int in=input.read();
            
            while(in!=-1){
            output.write(in);
            in=input.read();
            }
            
            input.close();
            output.close();

        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}
0 0
原创粉丝点击