美文网首页java
java 删除文件夹、复制文件夹

java 删除文件夹、复制文件夹

作者: 岁月静好忄 | 来源:发表于2019-07-25 16:44 被阅读0次

java递归删除文件夹、复制文件夹,联合起来就是资源同步

public class ResourceSyn 
{
    
    private String sourcePath;
    private String newPath;
    public static void main(String[] args) 
    {
        ResourceSyn rSyn = new ResourceSyn();
        //资源基础地址
        rSyn.sourcePath = "xxxxxxxxxxxxx";
        
        //需要被同步资源的地基础址
        rSyn.newPath = "xxxxxxxxxxxx";
        
        long start = System.currentTimeMillis();
                //删除文件
        rSyn.deleteFile(rSyn.newPath+"\\Autoload");
        rSyn.deleteFile(rSyn.newPath+"\\CoreData");
        rSyn.deleteFile(rSyn.newPath+"\\Data");
                //复制文件
        rSyn.copy(rSyn.sourcePath+"\\Autoload", rSyn.newPath+"\\Autoload");
        rSyn.copy(rSyn.sourcePath+"\\CoreData", rSyn.newPath+"\\CoreData");
        rSyn.copy(rSyn.sourcePath+"\\Data", rSyn.newPath+"\\Data");
        System.out.println((System.currentTimeMillis()-start)+"ms");
    }
    
    /**
     * 文件删除
     * @param filePath
     * @return
     */
    public boolean deleteFile(String filePath) 
    {
        
        File dirFile = new File(filePath);
        // 如果dir对应的文件不存在,则退出
        if (dirFile.exists()==false) 
        {
            return false;
        }

        if (dirFile.isFile()) 
        {
            return dirFile.delete();
        } else 
        {

            for (File file : dirFile.listFiles()) 
            {
                deleteFile(file.getAbsolutePath());
            }
        }

        return dirFile.delete();
    }

    
    /**
     * 文件复制
     * @param sourcePath
     * @param newPath
     */
    private void copy(String sourcePath, String newPath)
    {
        File file = new File(sourcePath);
        if(file.isDirectory())
        {
            File newFile = new File(newPath);
            if(newFile.exists()==false)
            {
                newFile.mkdirs();
            }
            String[] fileArray = file.list();
            for(int i=0;i<fileArray.length;i++)
            {
                copy(sourcePath + "\\" + fileArray[i],newPath+"\\"+fileArray[i]);
            }
        }else
        {
            copyFile(sourcePath,newPath);
        }
    }
    
    /**
     * 文件写入
     * @param oldPath
     * @param newPath
     */
    public void copyFile(String oldPath, String newPath) 
    {
          
        File oldFile = new File(oldPath);
        File file = new File(newPath);
        FileInputStream in = null;
        FileOutputStream out = null;
        try 
        {
            in = new FileInputStream(oldFile);
            out = new FileOutputStream(file);
            byte[] buffer=new byte[1048576];
            int length=0;
            while((length=in.read(buffer)) != -1)
            {
                out.write(buffer,0,length);
            }   
            
        } 
        catch (Exception e) 
        {
            e.printStackTrace();
        } 
        finally
        {
            try 
            {
                out.close();
                in.close();
            } 
            catch (IOException e) 
            {
                e.printStackTrace();
                
            }
          }
      }
}

相关文章

  • java 删除文件夹、复制文件夹

    java递归删除文件夹、复制文件夹,联合起来就是资源同步

  • PHP文件系统之目录层级删除

    文件夹的删除 文件夹的复制 1.遍历文件夹 2.删除文件 3.删除文件夹(文件夹为空才可以删除)

  • 常用Linux命令

    文件复制 文件远程复制 删除 删除文件 删除非空文件夹 文件移动 移动文件 移动文件夹下的所有 文件远程复制 用户...

  • 007—Linux常用命令

    解压 改名称 复制文件夹 对文件夹及其子文件赋权 Centos操作 查询Java还有哪些 删除 安装jdk 关闭防火墙

  • java代码删除文件夹

    java用代码删除文件夹

  • centos彻底删除文件夹、文件命令

    centos彻底删除文件夹、文件命令(centos 新建、删除、移动、复制等命令: 1.新建文件夹 mkdir 文...

  • linux如何复制移动文件

    linux如何复制文件夹和移动文件夹 linux下文件的复制、移动与删除命令为:cp,mv,rm 一、文件复制命令...

  • linux指令篇

    复制 将一个文件夹下的所有内容复制到另一个文件夹下 将一个文件夹复制到另一个文件夹下 删除一个文件夹及其下面的所有...

  • 9.26

    创建、删除、复制、移动、重命名文件和文件夹的命令分别是什么? 文件夹:创建mkdir dirname删除rmdir...

  • Linux 常用命令集

    文件以及目录操作 1、 文件夹创建 2、 列出文件目录 3、删除文件夹 4、创建文件 5、复制文件 6、删除文件 ...

网友评论

    本文标题:java 删除文件夹、复制文件夹

    本文链接:https://www.haomeiwen.com/subject/cuohrctx.html