• Java复制文件和文件夹


    package com.cfcc.cfcs.common.utils;
    
    import java.io.*;
    
    /**
     * @Description: 复制文件夹(copyFolder),复制文件(copyFile)
     *
     */
    public class copyUtil {
        public static void main(String[] args) {
            copyFolder("src/test/Source","src/test/Target");
        }
    
        //复制文件夹,循环遍历文件的变式使用
        public static void copyFolder(String SrcFolder,String TrgFolder){
            File srcF=new File(SrcFolder);
            //获取目录下的所有文件
            File[] flists=srcF.listFiles();
            for(File f:flists){
                if(f.isFile()){
                    //也可以转换为字符串,进行字符串的替换操作
                    File newTrgFile=new File(TrgFolder+"/"+f.getName());
                    copyFile(f,newTrgFile); //直接进行IO操作复制
                }else if(f.isDirectory()){
                    //准备进行目录的创建
                    File mkFile=new File(TrgFolder+"/"+f.getName());
                    if(!mkFile.exists()){
                        //先将目录创建出来
                        mkFile.mkdir();
                    }
                    //递归调用
                    copyFolder(f.toString(),TrgFolder+"/"+f.getName());
                    //copyFolder(SrcFolder+"/"+f.getname(),TrgFolder+"/"+f.getName());
                }
            }
        }
        //复制文件
        public static void copyFile(File SrcFile,File TrgFile){
            //定义出字节缓冲流
            BufferedInputStream BufIn=null;
            BufferedOutputStream Bufout=null;
            try {
                BufIn=new BufferedInputStream(new FileInputStream(SrcFile));
                Bufout=new BufferedOutputStream(new FileOutputStream(TrgFile));
                int BufRead;
                while ((BufRead=BufIn.read())!=-1){
                    Bufout.write(BufRead);
                }
            } catch (IOException e) {
                e.printStackTrace();
            }finally {
                try {
                    if(BufIn!=null) {
                        BufIn.close();
                    }
                    if(Bufout!=null) {
                        Bufout.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
  • 相关阅读:
    httpVueLoader.js props传递参数
    iview自定义图标,render方式自定义图标
    C# MVC API WebSocket的聊天室案例
    CSS/HTML实现Switch开关按钮
    AndroidStudio打包Jar包给Unity使用的期间遇到的错误
    AndroidStudio4.0.1 打包 Jar包
    解决SVN异常 cleanup failed
    c++ sizeof的实现
    c++ 函数指针简单实例
    C++ socket 网络编程 简单聊天室
  • 原文地址:https://www.cnblogs.com/raitorei/p/16325694.html
Copyright © 2020-2023  润新知