Java删除文件夹和其子文件、文件的拷贝和剪切

 1、递归删除目录下的所有文件及子目录下所有文件

//递归删除目录下的所有文件及子目录下所有文件
    public static boolean deleteDir(File dir) {
        if (dir.isDirectory()) {
            String[] children = dir.list();
            //递归删除目录中的子目录下
            System.gc();//强制删除被进程占用的图片
            for (int i=0; i<children.length; i++) {
                boolean success = deleteDir(new File(dir, children[i]));
                if (!success) {
                    return false;
                }
            }
        }
        // 目录此时为空,可以删除
        return dir.delete();
    }

2、拷贝:从源地址拷贝文件到目的地址

/**
     * 从源地址拷贝文件到目的地址
     * @param source:源地址
     * @param dest:目的地址
     */
    public static void copyFile(String source, String dest){   
        InputStream input = null;   
        OutputStream output = null;   
        try { 
            input = new FileInputStream(source); 
            output = new FileOutputStream(dest);     
            byte[] buf = new byte[1024];     
            int bytesRead;     
            while ((bytesRead = input.read(buf)) > 0) { 
                output.write(buf, 0, bytesRead); 
            } 
        } catch(IOException e) {
            e.printStackTrace();
        } finally { 
            try {
                if(input != null) {
                    input.close();
                }
                if(output != null) {
                    output.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            } 
        } 
    }

 3、剪切

(1)先复制:同第二步

(2)后删除:同第一步

OK

猜你喜欢

转载自www.cnblogs.com/Donnnnnn/p/10119215.html
今日推荐